iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0
Python

我的Python奇幻學習之旅系列 第 26

鐵人賽 Day26 Python的奇幻之旅-pandas(熊貓)-8

  • 分享至 

  • xImage
  •  

因為熊貓的屬性跟方法比較多
從今天起~剩下的幾天,會將熊貓常用的方法與屬性,大略說一下!
就能了解,為甚麼一開始說熊貓比excel適合大數據了!

下面做邊的屬性跟方法,右邊是這些的功能解釋

Pandas DataFrame 常用方法示例

1. abs()

返回一個包含每個值的絕對值的 DataFrame。

import pandas as pd

data = {'A': [-1, -2, -3], 'B': [4, 5, -6]}
df = pd.DataFrame(data)
abs_df = df.abs()

# 輸出結果:
#     A  B
# 0   1  4
# 1   2  5
# 2   3  6
print(abs_df)

2. add()

將 DataFrame 的值與指定值相加。

df_add = df.add(5)

# 輸出結果:
#     A   B
# 0   4   9
# 1   3  10
# 2   2  -1
print(df_add)

3. add_prefix()

給所有標籤加上前綴。

df_prefix = df.add_prefix('col_')

# 輸出結果:
#    col_A  col_B
# 0     -1      4
# 1     -2      5
# 2     -3     -6
print(df_prefix)

4. add_suffix()

給所有標籤加上後綴。

df_suffix = df.add_suffix('_suffix')

# 輸出結果:
#    A_suffix  B_suffix
# 0        -1         4
# 1        -2         5
# 2        -3        -6
print(df_suffix)

5. agg()

對 DataFrame 的某個軸應用一個函數或函數名。

agg_df = df.agg(['sum', 'mean'])

# 輸出結果:
#         A         B
# sum  -6.0       3.0
# mean -2.0       1.0
print(agg_df)

6. aggregate()

對 DataFrame 的某個軸應用一個函數或函數名(與 agg() 相同)。

aggregate_df = df.aggregate(['min', 'max'])

# 輸出結果:
#        A  B
# min   -3 -6
# max   -1  5
print(aggregate_df)

7. align()

使用指定的連接方法對齊兩個 DataFrame。

df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'A': [5, 6]}, index=[0, 1])
aligned_df1, aligned_df2 = df1.align(df2, join='outer')

# 輸出結果:
#     A    B
# 0   1  3.0
# 1   2  4.0
print(aligned_df1)

# 輸出結果:
#     A   B
# 0   5  NaN
# 1   6  NaN
print(aligned_df2)

8. all()

如果 DataFrame 中所有值都為 True,則返回 True,否則返回 False。

result_all = df.gt(0).all()

# 輸出結果:
# A    False
# B    False
# dtype: bool
print(result_all)

9. any()

如果 DataFrame 中任意值為 True,則返回 True,否則返回 False。

result_any = df.gt(0).any()

# 輸出結果:
# A    False
# B     True
# dtype: bool
print(result_any)

10. append()

在 DataFrame 中追加新列。

new_row = pd.Series({'A': 10, 'B': 20})
df_appended = df.append(new_row, ignore_index=True)

# 輸出結果:
#      A   B
# 0   -1   4
# 1   -2   5
# 2   -3  -6
# 3   10  20
print(df_appended)

11. applymap()

對 DataFrame 中的每個元素執行一個函數。

df_applymap = df.applymap(lambda x: x * 2)

# 輸出結果:
#     A   B
# 0   -2   8
# 1   -4  10
# 2   -6 -12
print(df_applymap)

12. apply()

對 DataFrame 的某個軸應用一個函數。

df_apply = df.apply(lambda x: x.sum(), axis=0)

# 輸出結果:
# A   -6
# B    3
# dtype: int64
print(df_apply)

13. assign()

指定新列。

df_assigned = df.assign(C=lambda x: x['A'] + x['B'])

# 輸出結果:
#     A   B   C
# 0   -1   4   3
# 1   -2   5   3
# 2   -3  -6  -9
print(df_assigned)

14. astype()

將 DataFrame 轉換為指定的數據類型。

df_converted = df.astype({'A': 'float'})

# 輸出結果:
#      A  B
# 0  -1.0  4
# 1  -2.0  5
# 2  -3.0 -6
print(df_converted)

15. at

獲取或設置具有指定標籤的元素的值。

value_at = df.at[0, 'A']  # 獲取值
df.at[0, 'A'] = 100  # 設置值

# 輸出結果:
#      A   B
# 0   100   4
# 1    -2   5
# 2    -3  -6
print(df)

16. axes

返回 DataFrame 的行和列的標籤。

df_axes = df.axes

# 輸出結果:
# [RangeIndex(start=0, stop=3, step=1), Index(['A', 'B'], dtype='object')]
print(df_axes)

上一篇
鐵人賽 Day25 Python的奇幻之旅-pandas(熊貓)-7
下一篇
鐵人賽 Day27 Python的奇幻之旅-pandas(熊貓)-9
系列文
我的Python奇幻學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言