Pandas数据处理基本命令

 

读取写入 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'] )

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值