python数据分析方法和命令_常用命令(python数据分析)

导入包

importpandas as pdimport numpy as np

导入数据

#默认utf-8,gbk对中文的支持更好

pd.read_csv(filename,encoding='gbk')#key是列名,value是数据,从字典导入数据需要指定index

dict1 = {'a':1,'b':2}

df= pd.DataFrame(dict1,index=[0])

查看数据

#行数、列数

df.shape[0]

df.shape[1]#前几行,后几行,默认为5

df.head()

df.tail(3)#数据汇总统计

df.describe()#数据概况

df.info()#列名

df.columns#数据类型

df.dtypes#各列平均值

df.mean()

数据选取

#按列名查看某列

df[col_name]

df.col_name#查列名看多列

df[[col1,col2]]#按索引查看某行,第一行:

df.iloc[0]#按索引查看某行某列,三行四列那个元素

df.iloc[2,3]

数据合并

#按行拼接

pieces = [df[2:20],df[23:30],df[35:40]]

df2=pd.concat(pieces)#按列拼接

left = pd.DataFrame({'key': ['foo', 'bar'], 'col1': [1, 2]})

right= pd.DataFrame({'key': ['foo', 'bar'], 'col2': [4, 5]})

pd.merge(left,right,on='key')#增加一列

df = pd.DataFrame(np.random.randn(8, 4), columns=['A','B','C','D'])

extra= df.iloc[-1]

data= df.append(extra)

数据清理 (注意: 修改DataFrame要赋值)

#检查是否空值,返回布尔值(rue,False)

df.isnull()#返回各列空值的个数

df.isnull().sum()#处理空值,用x替换空值

df =df.fillna(x)#删除包含空值的行

df =df.dropna()#删除包含空值的列

df = df.dropna(axis=1)

数据处理

#选择某列大于1的行

df[df[colname]>1]#选择某列包含x或者y字段的行,pandas有很多字符串处理函数

df[df[colname].str.contains(x|y)]#替换字符

df[df[colname].replace('k','000')]#转换数据类型

df.num =df.num.astype(float)#查看某列的唯一值的个数

df.colname.value_counts()#按照某列排序(默认升序)

df.sort_values(by = colname,ascending=True)#应用函数,简单的可以用lambda

df.apply(lambda x:x.max()-x.min())#复杂的可以先定义好函数

deffunc():passdf.apply(func)#也可以用numpy自带的,例如cumsum累加

df.apply(np.cumsum)

分组聚合

#准备数据

df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar','foo', 'bar', 'foo', 'foo'],'B' : ['one', 'one', 'two', 'three','two', 'two', 'one', 'three'],'C' : np.random.randn(8),'D' : np.random.randn(8)})#对两列进行分组并求均值,类似于SQL里的group by

df.groupby(['A','B']).mean()#数据透视表,以col1为行,col2为列,取col3和col4的最大值,可以参考Excel的数据透视表

df.pivot_table(index=col1,columns=col2,values=[col3,col4],aggfunc=max)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值