Pandas 33个冷知识
-
从Excel读取数据: 使用
pd.read_excel('file.xlsx')来读取Excel文件。 -
写入Excel: 使用
df.to_excel('file.xlsx', index=False)将DataFrame写入Excel文件。 -
创建日期索引: 使用
df.set_index(pd.to_datetime(df['date']))创建日期索引。 -
向后填充缺失值: 使用
df.fillna(method='bfill')向后填充缺失值。 -
按索引选取多行: 使用
df.loc[[1, 2, 5]]按索引选取多行。 -
按位置选取多行: 使用
df.iloc[[0, 2, 4]]按位置选取多行。 -
创建空Series: 使用
pd.Series(dtype='float64')创建一个空Series。 -
重置列顺序: 使用
df = df[['col2', 'col1']]重新排列DataFrame的列顺序。 -
按多列排序: 使用
df.sort_values(by=['col1', 'col2'], ascending=[True, False])按多列排序。 -
按列查找最大值的行: 使用
df.loc[df['col'].idxmax()]查找列中最大值所在的行。 -
按列查找最小值的行: 使用
df.loc[df['col'].idxmin()]查找列中最小值所在的行。 -
按条件删除行: 使用
df.drop(df[df['col'] < 10].index)按条件删除行。 -
按条件更新值: 使用
df.loc[df['col'] < 10, 'col'] = 10按条件更新值。 -
按列计算累计最大值: 使用
df['cummax'] = df['col'].cummax()计算列的累计最大值。 -
按列计算累计最小值: 使用
df['cummin'] = df['col'].cummin()计算列的累计最小值。 -
按列计算累计乘积: 使用
df['cumprod'] = df['col'].cumprod()计算列的累计乘积。 -
计算百分比变化: 使用
df['pct_change'] = df['col'].pct_change()计算列的百分比变化。 -
滚动窗口最大值: 使用
df['rolling_max'] = df['col'].rolling(window=3).max()计算滚动窗口最大值。 -
滚动窗口最小值: 使用
df['rolling_min'] = df['col'].rolling(window=3).min()计算滚动窗口最小值。 -
检测重复值: 使用
df.duplicated()检测重复值。 -
删除所有重复值: 使用
df.drop_duplicates()删除所有重复值。 -
替换值中的空字符串: 使用
df.replace('', np.nan, inplace=True)替换值中的空字符串。 -
数据透视表(多值): 使用
pd.pivot_table(df, values=['val1', 'val2'], index='col1', columns='col2')创建数据透视表。 -
分组并计算自定义函数: 使用
df.groupby('col').apply(lambda x: x.max() - x.min())进行分组并计算自定义函数。 -
扩展列表到多行: 使用
df.explode('col')将列表扩展到多行。 -
按列计算频率表: 使用
pd.crosstab(df['col1'], df['col2'])计算频率表。 -
将列名改为小写: 使用
df.columns = df.columns.str.lower()将所有列名改为小写。 -
将列名改为大写: 使用
df.columns = df.columns.str.upper()将所有列名改为大写。 -
按列值绘制直方图: 使用
df['col'].hist()绘制列值的直方图。 -
按列值绘制密度图: 使用
df['col'].plot(kind='kde')绘制列值的密度图。 -
按列值绘制箱线图: 使用
df.boxplot(column='col')绘制列值的箱线图。 -
按列值绘制散点图: 使用
df.plot.scatter(x='col1', y='col2')绘制列值的散点图。 -
数据框列值字符串替换: 使用
df['col'].str.replace('old', 'new')替换列中的字符串。