用python数据处理csv

从csv读取数据

import pandas as pd
df=pd.read_csv("地址")
# 若为xlsx
df=pd.read_excel("地址")

# 选取行
rows=df[0:3]
rows
# 选取列
cols=df[['1','2']]
cols.head() # head展示前五行(表头除外)
# 选取块
df.ix[0:3,['1','2']] # 三行两列的数据
# 数据分割
df2=df[80:90][['1','2']]

向csv写入数据

df.to_csv("空文件地址",columns=["name1","name2"],index=False,header=True)
df.to_excel(...)

注意:columns里的列必须存在于df文件中。
index是索引,若添加索引则放置在第一列。
header是列头。

数据概览

# 查看数据信息
df.info()
# 描述性信息如最值,平均值
df.describe()

操作行列

建立新的列

df['3']=df['1']+df['2']

筛选符合条件块

df[(df['1']<100)&(df['2']>10000)]

排序

设置关键字并排序:

df1=df.set_index('1')
df1=df1.sort_index()
df1.head()

多个关键字:

df2=df.set_index(['1','2']).sortlevel(0) # 根据第一个索引排序
df2.head()

分组:

means=df['1'].groupby(df['2'],df['3']).mean()
df.groupby(['2','3']).mean() # 其他所有行的平均值,非数值列会被自动排除
df.groupby(['2','3']).size()

分组计算均值,求和:

# axis=0删掉行,axis=1删掉列
df_mean=df.drop(['1','2'],axis=1).groupby('place').mean().sort_values("money",ascending=False)

df_sum=df.drop(['1','2'],axis=1).groupby('place').sum().sort_values("money",ascending=False)

合并两表

pd.merge(df1,df2)

生成数据透视表

df2=pd.pivot_table(df,values=['price'],index=['from'],columns=['to'])

处理缺失值

df.fillna('missing') # 用missing代替NAN
df.fillna(df.mean()) # 用平均值代替NAN

统计某特征

valid_count=df.groupby(['name'])['valid'].value_counts()
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值