Pandas数据处理基本命令

本文详细介绍了使用Pandas进行数据处理的方法,包括读写CSV和Excel文件、数据筛选、清洗、转换、聚合及数据帧的基本操作。涵盖了如何利用Pandas进行高效的数据分析,如数据的排序、筛选、填充缺失值、迭代处理、数据聚合等关键技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

读取写入 csv , excel 文件

df = pd.read_csv('abd.csv')
df.to_csv('abd.csv')

df = pad.read_excel('abc')
df.to_excel('abc')

查看数据基本信息

df.head(5)
df.tail(5)
df.columns

df.shape   # (行, 列)
df.index    # 获取索引
df.columns   # 获取列名
df.info()        # 数据框基本信息

df.sum()
df.min()   df.max()
df.cumsum()
df.mean()
df.median()

某一列重命名

df2 = df.rename(columns={'old_name':  'new_name'}, inplace=True)

截取数据

df[ df['column1'] >10]
df[ (df['column1'] >10) &df['column2'] == 10]
df[ (df['column1] >10) | df['column2'] ==10]

删除、填充数据

#删除丢失的数据
df.dropna()
#填充丢失的数据
df.fillna(value=5)
mean = df['column2'].mean()
df['column1'].fillna(mean)

df['new_column'] = df['column'] + 10

迭代处理

迭代处理每一个元素
df[ 'column1'] .map(lambda x: x+10)

df[['column1', 'column2']].apply(sum)    # 对 col1, col2,求和

func = lambda x:    x+2
df.applymap(func)

查看数据,具体信息

df['column'].unique()    # 出现的值

df.describe()    #count, mean, std, min, first quartile,median, third quartile, max

df['columns']  # 取列
df[ 0 : n]

df.iloc[ [0], [0]]   # 按位置
df.loc[ [0], ['columns'] ]  # 按标签

df.ix[ :, 'columns' ] 
df.ix[1, 'columns']

删除数据


df.drop( ['columns1', 'columns2'] )     # 按索引删除序列
df.drop( 'columns', axis=1)     # 按列名删除

排序

df.sort_index()     # 索引排序
df.sort_values(by = 'columns')     # 某列值排序
# 行转为列
df = pd.pivot_table(df , values = 'Value', index='Date', columns='Type')

选择数据

df.loc [ : , (df>1).any() ]          # 任意一值 > 1 的列
df.loc [ : , (df>1).all() ]            # 所有 值 > 1 的列
df.loc [ : ,  df.isnull().any() ]    # 含 Nan的所有列

df.filter( items = [ 'a' , 'b'])
df.select ( lambda x: not x%5)

df.where ( df > 0 )

df.reset_index()     # 取消索引

 

df. unique()    
df. duplicated('columns')    # 查找重复值
df.drop_duplicates('columns', keep = 'last')

 

聚合

#聚合
df.groupby(by = ['Date' , 'type'] ).mean()
df.groupby(level = 0).sum()
df.groupby(level=0).agg({ 'a': lambda x: sum(x) / len(x) ,  'b' : np.sum})

拼接合并

# 合并 merge
pd.merge( data1, data2, how='left' , on= ' columns')

left 以data1[ ' columns' ] 为准
right 以data2[ ' columns' ] 为准
inner 以 data1, data2[ ' columns' ] 共有的值
outer 以data1 , data2 [ ' columns' ] 的所有值

#拼接
纵向
df1 .append(df2)
横向
pd.concat( [ df1, df2] , axis=1, keys=[ 'one' , 'two'])
pd.concat( [df1, df2] , axis=1, join= 'inner') 

 

缺失值填充

# 缺失值
df.dropna()    # 去除缺失值 Nan
df.fillna(df.mean())    # 用预设值填充缺失值
df.replace( ' a' , 'b' )    # 一个值替换另一个值

时间数据

df['Date'] = pd.to_datetime(df[ ' Date'] )

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值