dtypes
返回 DataFrame 各列的數據類型。
import pandas as pd
data = {'A': [1, 2, 3], 'B': [4.0, 5.5, 6.1], 'C': ['a', 'b', 'c']}
df = pd.DataFrame(data)
print(df.dtypes)
A int64
B float64
C object
dtype: object
duplicated()
對重複的行返回 True,否則返回 False。
data = {'A': [1, 2, 2], 'B': [4, 5, 5]}
df = pd.DataFrame(data)
print(df.duplicated())
0 False
1 False
2 True
dtype: bool
empty
如果 DataFrame 為空,則返回 True,否則返回 False。
empty_df = pd.DataFrame()
print(empty_df.empty) # True
True
eq()
對等於指定值的值返回 True,否則返回 False。
data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.eq(2))
A
0 False
1 True
2 False
equals()
如果兩個 DataFrame 相等,則返回 True,否則返回 False。
df1 = pd.DataFrame({'A': [1, 2]})
df2 = pd.DataFrame({'A': [1, 2]})
print(df1.equals(df2)) # True
True
eval()
計算指定的字符串。
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
result = df.eval('C = A + B')
print(result)
A B C
0 1 3 4
1 2 4 6
explode()
將每個元素轉換為一行。
data = {'A': [[1, 2], [3, 4]]}
df = pd.DataFrame(data)
exploded_df = df.explode('A')
print(exploded_df)
A
0 1
0 2
1 3
1 4
ffill()
用前一行的值替換空值。
data = {'A': [1, None, 3]}
df = pd.DataFrame(data)
ffilled_df = df.ffill()
print(ffilled_df)
A
0 1.0
1 1.0
2 3.0
fillna()
用指定值替換空值。
data = {'A': [1, None, 3]}
df = pd.DataFrame(data)
filled_df = df.fillna(0)
print(filled_df)
A
0 1.0
1 0.0
2 3.0
filter()
根據指定的過濾條件過濾 DataFrame。
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
filtered_df = df.filter(items=['A'])
print(filtered_df)
A
0 1
1 2
2 3
first()
返回指定日期選擇的第一行。
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'])
first_row = df.groupby('date').first()
print(first_row)
A
date
2024-01-01 1
2024-01-02 2
floordiv()
將 DataFrame 的值與指定值相除,並向下取整。
data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
floordiv_df = df.floordiv(2)
print(floordiv_df)
A
0 0
1 1
2 1
ge()
對大於或等於指定值的值返回 True,否則返回 False。
data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.ge(2))
A
0 False
1 True
2 True
get()
返回指定鍵的元素。
data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.get('A'))
0 1
1 2
2 3
Name: A, dtype: int64
groupby()
將行/列分組為指定的組。
data = {'A': ['foo', 'bar', 'foo', 'bar'], 'B': [1, 2, 3, 4]}
df = pd.DataFrame(data)
grouped_df = df.groupby('A').sum()
print(grouped_df)
B
A
bar 6
foo 4
gt()
對大於指定值的值返回 True,否則返回 False。
data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.gt(1))
A
0 False
1 True
2 True
head()
返回表頭和前 10 行或指定數量的行。
data = {'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}
df = pd.DataFrame(data)
print(df.head(5))
A
0 1
1 2
2 3
3 4
4 5
iat()
獲取或設置指定位置的元素的值。
data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
value_at = df.iat[0, 0] # 獲取值
df.iat[0, 0] = 100 # 設置值
print(df)
A
0 100
1 2
2 3
idxmax()
返回指定軸上最大值的標籤。
data = {'A': [1, 3, 2]}
df = pd.DataFrame(data)
print(df['A'].idxmax())
1
idxmin()
返回指定軸上最小值的標籤。
data = {'A': [1, 3, 2]}
df = pd.DataFrame(data)
print(df['A'].idxmin())
0
iloc()
獲取或設置指定位置的一組元素的值。
data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.iloc[0, 0]) # 獲取值
df.iloc[0, 0] = 100 # 設置值
print(df)
A
0 100
1 2
2 3