iT邦幫忙

2024 iThome 鐵人賽

DAY 29
0
Python

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

鐵人賽 Day29 Python的奇幻之旅-pandas(熊貓)-11

  • 分享至 

  • xImage
  •  

Pandas DataFrame 常用方法示例-4

1. index

返回 DataFrame 的行標籤。

import pandas as pd

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.index)
RangeIndex(start=0, stop=3, step=1)

2. infer_objects()

更改 DataFrame 中列的數據類型。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
df['A'] = df['A'].astype('object')  # 將 A 列轉換為物件類型
df.infer_objects()
print(df.dtypes)
A    object
dtype: object

3. info()

打印有關 DataFrame 的信息。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
df.info()
 0   A      int64
dtypes: int64(1)

4. insert()

在 DataFrame 中插入一列。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
df.insert(1, 'B', [4, 5, 6])  # 在索引 1 處插入新列 B
print(df)
   A  B
0  1  4
1  2  5
2  3  6

5. interpolate()

使用插值方法替換非數字值。

data = {'A': [1, None, 3]}
df = pd.DataFrame(data)
interpolated_df = df.interpolate()
print(interpolated_df)
     A
0  1.0
1  2.0
2  3.0

6. isin()

如果 DataFrame 中的每個元素都在指定值中,則返回 True。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.isin([1, 2]))
       A
0   True
1   True
2  False

7. isna()

找出非數字值。

data = {'A': [1, None, 3]}
df = pd.DataFrame(data)
print(df.isna())
       A
0  False
1   True
2  False

8. isnull()

找出空值。

data = {'A': [1, None, 3]}
df = pd.DataFrame(data)
print(df.isnull())
       A
0  False
1   True
2  False

9. items()

遍歷 DataFrame 的列。

data = {'A': [1, 2], 'B': [3, 4]}
df = pd.DataFrame(data)
for key, value in df.items():
    print(key, value)
A  0    1
   1    2
B  0    3
   1    4

10. iteritems()

遍歷 DataFrame 的列。

data = {'A': [1, 2], 'B': [3, 4]}
df = pd.DataFrame(data)
for column, series in df.iteritems():
    print(column, series)
A  0    1
   1    2
B  0    3
   1    4

11. iterrows()

遍歷 DataFrame 的行。

data = {'A': [1, 2], 'B': [3, 4]}
df = pd.DataFrame(data)
for index, row in df.iterrows():
    print(index, row)
0 A    1
  B    3
Name: 0, dtype: int64
1 A    2
  B    4
Name: 1, dtype: int64

12. itertuples()

作為命名元組遍歷行。

data = {'A': [1, 2], 'B': [3, 4]}
df = pd.DataFrame(data)
for row in df.itertuples():
    print(row.Index, row.A, row.B)
0 1 3
1 2 4

13. join()

連接另一個 DataFrame 的列。

data1 = {'A': [1, 2]}
data2 = {'B': [3, 4]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
joined_df = df1.join(df2)
print(joined_df)
   A  B
0  1  3
1  2  4

14. last()

返回指定日期選擇的最後一行。

data = {'date': ['2024-01-01', '2024-01-02', '2024-01-01'], 'A': [1, 2, 3]}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])
last_row = df.groupby('date').last()
print(last_row)
            A
date         
2024-01-01  3
2024-01-02  2

15. le()

對小於或等於指定值的值返回 True,否則返回 False。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.le(2))
       A
0   True
1   True
2  False

16. loc()

獲取或設置使用標籤指定的一組元素的值。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.loc[0, 'A'])  # 獲取值
df.loc[0, 'A'] = 100  # 設置值
print(df)
     A
0  100
1    2
2    3

17. lt()

對小於指定值的值返回 True,否則返回 False。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.lt(2))
       A
0   True
1  False
2  False

18. keys()

返回信息軸的鍵。

data = {'A': [1, 2]}
df = pd.DataFrame(data)
print(df.keys())
Index(['A'], dtype='object')

19. kurtosis()

返回指定軸上值的峰度。

data = {'A': [1, 2, 3, 4]}
df = pd.DataFrame(data)
print(df.kurtosis())
A    -1.200000
dtype: float64

20. mask()

替換指定條件為 True 的所有值。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
masked_df = df.mask(df > 2, 0)
print(masked_df)
   A
0  1
1  2
2  0

21. max()

返回指定軸上值的最大值。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.max())
A    3
dtype: int64

22. mean()

返回指定軸上值的平均值。

data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.mean())
A    2.0
dtype: float64

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

尚未有邦友留言

立即登入留言