Pandas Datafram常用方法

  • Post author:
  • Post category:其他



Pandas 是python进行数据处理的一种工具包,里面默认的数据结构为Dataframe,

具有非常良好的易用性,可以非常方便的进行一些数据统计与分析的工作,以下我将和大家分享Dataframe常用的一些操作,掌握了这些操作,便基本可以使用pandas进行数据处理与分析了。

首先,我们使用pandas来创建一个5行3列的Dataframe,我们可以借助numpy生成一个随机的矩阵,然后直接转换为Dataframe类型数据,也可以使用pandas读取CAV或者excel文件,读取之后便可以得到一个Dataframe类型的数据。

import pandas as pd
import numpy as np
df=pd.DataFrame(np.random.random((5,3)),columns=['A','B','C'])

至此我们便得到了一个五行三列的dataframe,列标分别为‘A’,‘B’,‘C’。

将数据打印如下:

在数据处理中,我们经常会用到按条件筛选数据,例如我们想选择第A列大于0.5的所有行,我们可以使用如下代码:

df[df['A']>0.5]

我们可以看到以下输出:

如果我们想按照多个条件进行筛选,例如选择A列或者B列大于0.5的数据,可以使用如下代码:

如果想按照“且”的关系进行筛选,只需要将 “|” 符号替换为“&”。

若是想要将某一列设置为索引,可以使用如下代码:

df.set_index('A',inplace=True) #将‘A’列设定为index,inplace=True代表直接在原数据上进行修改

这时我们可以看到第A列已经成为了索引。此时如果我们想恢复原先的索引,我们可以使用如下代码:

df.reset_index(drop=False,inplace=True) #重新设定0-n的索引,保留原来的索引

如果我们想取某几行,可以使用如下的索引方式:

df.iloc[2:5]['A']   #  通过行号索引数据选取二到五行,第A列的数据
df.loc[2:5]['A']   #  通过行标签索引数据
df.ix[2:5]['A']    #  loc与iloc的综合,可以混用
df.ix['a':'c',:]   #  
df.loc[:, df.loc['a']>0]          # a行大于0的所有列

如果想精确定位某个位置的值,可采用如下方法:

df.at['a','A'] #按照行索引列索引精确定位
df.iat[1,1]    #按照行号列号精确定位

如果想删除某一行或者某一列:

#删除某一行 axis=0
df.drop('a',axis=0, inplace=True)
#删除某一列 axis=1
df.drop('A',axis=1,inplace=True)

如果想将两个dataframe按照某一列进行关联,可采用如下方式:

joined_data=pd.merge(df1,df2,how='left',left_on='df1_column_name',right_on='df2_column_name')

至此,Dataframe的常用方法便介绍完毕了,如果有什么新的使用方法,欢迎大家留言交流。



版权声明:本文为weixin_39709476原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。