基础库,从了解到熟悉
首先需要用到的库,需要优先导入,并且创建一个DataFrame对象。这里我们使用字典来创建一个简单的DataFrame:
import pandas as pd
data = {
'姓名': ['张三', '李四', '王五', '赵六'],
'年龄': [25, 30, 35, 40],
'性别': ['男', '女', '男', '女']
}
df = pd.DataFrame(data)
接下来,我们将介绍pandas常用的35个经典操作:
-
查看数据前5行:
print(df.head())
-
查看数据信息(如数据类型、非空值数量等):
print(df.info())
-
查看数据描述性统计信息(如均值、标准差等):
print(df.describe())
-
查看数据列名:
print(df.columns)
-
查看数据索引:
print(df.index)
-
按列名选择数据:
print(df['姓名'])
-
按列名修改数据:
df['姓名'] = ['张三丰', '李四光', '王五岳', '赵六令']
print(df)
-
按条件筛选数据:
filtered_df = df[df['年龄'] > 30]
print(filtered_df)
-
按条件修改数据:
df.loc[df['年龄'] > 30, '年龄'] = 31
print(df)
-
按条件删除数据:
df = df[df['年龄'] != 31]
print(df)
-
添加新列:
df['城市'] = ['北京', '上海', '广州', '深圳']
print(df)
-
删除列:
df = df.drop('城市', axis=1)
print(df)
-
重命名列:
df = df.rename(columns={'姓名': '名字'})
print(df)
-
设置索引:
df = df.set_index('名字')
print(df)
-
重置索引:
df = df.reset_index()
print(df)
-
排序:
sorted_df = df.sort_values(by='年龄')
print(sorted_df)
-
分组:
grouped_df = df.groupby('性别')
print(grouped_df.mean())
-
合并:
data2 = {'名字': ['孙悟空', '猪八戒'], '年龄': [500, 400], '性别': ['男', '男']}
df2 = pd.DataFrame(data2)
merged_df = pd.concat([df, df2])
print(merged_df)
-
插入数据:
df.loc[1.5] = ['唐僧', 25, '男']
print(df)
-
删除数据:
df = df.drop([1, 2])
print(df)
-
填充缺失值:
df['年龄'] = df['年龄'].fillna(30)
print(df)
-
去除重复值:
df = df.drop_duplicates()
print(df)
-
数据透视表:
pivot_table = pd.pivot_table(df, values='年龄', index='名字', columns='性别')
print(pivot_table)
-
数据转置:
transposed_df = df.T
print(transposed_df)
-
数据合并(按行):
df3 = pd.DataFrame({'名字': ['白龙马'], '年龄': [300], '性别': ['男']})
merged_df = pd.merge(df, df3, on='名字')
print(merged_df)
-
数据合并(按列):
merged_df = pd.merge(df, df3, left_index=True, right_index=True)
print(merged_df)
-
数据连接(按行):
connected_df = pd.concat([df, df3])
print(connected_df)
-
数据连接(按列):
connected_df = pd.concat([df, df3], axis=1)
print(connected_df)
-
数据切片:
sliced_df = df[1:3]
print(sliced_df)
-
数据迭代:
for index, row in df.iterrows():
print(row)
-
数据过滤:
filtered_df = df[(df['年龄'] > 25) & (df['性别'] == '男')]
print(filtered_df)
-
数据替换:
df['性别'] = df['性别'].replace('男', 'M')
print(df)
-
数据映射:
mapping = {'男': 'M', '女': 'F'}
df['性别'] = df['性别'].map(mapping)
print(df)
-
数据透视表(多重索引):
pivot_table = pd.pivot_table(df, values='年龄', index=['名字', '性别'])
print(pivot_table)
-
数据透视表(聚合函数):
pivot_table = pd.pivot_table(df, values='年龄', index='名字', columns='性别', aggfunc='mean')
print(pivot_table)
本文介绍了pandas常用的35个基础操作。包括数据筛选、修改、删除、分组、合并、连接、透视表等。通过这些操作,我们可以对数据处理分析。在实际应用中,我们可以根据需要选择合适的操作来满足我们的需求。