欢迎访问宙启技术站
智能推送

Pandas数据分析实用小技巧有哪些

发布时间:2023-05-17 11:11:09

Pandas是一种基于Numpy的Python数据分析包,能够快速、简单、便捷地处理大型的数据集。在进行Pandas数据分析时,有很多实用小技巧能够提高我们的效率和分析质量。下面列举一些常用的技巧。

一、数据提取与过滤

1. loc和iloc

loc是通过标签提取数据,而iloc是通过位置提取数据。常用于提取行或列数据,可以指定多个条件。示例代码如下:

#使用loc选择特定行和列的数据
df.loc[:10, ['A', 'B']] 

#使用iloc选择前10行和前2列的数据
df.iloc[:10, :2] 

2. 使用isin()

isin()方法可以返回一个布尔值,表示每个元素是否包含在传递的值序列中,该方法通常用于数据筛选。示例代码如下:

#选择数据中 A 列中值为 1, 2 或 3 的行
df[df['A'].isin([1,2,3])]

3. where()

where()方法可以用于根据条件筛选数据,并根据条件替换数据,示例代码如下:

#将数据中小于 0 的值替换为 0
df.where(df>0,0)

4. query()

query()方法可以实现按照条件筛选数据,代码更加清晰。示例代码如下:

#选择数据中 A 列中值大于0且B列的值为 2 的行
df.query('A>0 & B==2')

二、数据聚合

1. groupby()

groupby()方法用于将数据按照一定的规则进行聚合,通常用于进行数据分类统计。示例代码如下:

#按照 A 列对数据进行分组,并对 B 列求和
df.groupby('A').sum()["B"]

2. pivot_table()

pivot_table()方法可以根据数据中的行、列对数据进行聚合,常用于进行数据透视,示例代码如下:

#根据 A 列、B 列对 C 列进行统计
df.pivot_table(values='C',index='A',columns='B',aggfunc=np.sum)

三、数据处理

1. apply()和applymap()

apply()方法用于按照一定规则对数据的某一列或某一行进行操作,applymap()方法用于对数据中每一个元素进行操作。示例代码如下:

#把数据中的每一个元素都加上 1
df.applymap(lambda x: x+1)

#把数据中 C 列的平均数减去每一个元素
df['C'].apply(lambda x: x-df['C'].mean())

2. fillna()

fillna()方法用于填充数据中的缺失值,示例代码如下:

#把数据中的缺失值填充为0
df.fillna(0)

3. astype()

astype()方法用于转换数据的类型,通常用于将字符类型转换为数值类型等。示例代码如下:

#将数据中的 A 列转换成float类型
df['A'] = df['A'].astype(float)

四、数据合并

1. concat()

concat()方法可以实现两个或多个数据集的合并,可以设置合并方式为纵向合并或横向合并。示例代码如下:

#横向拼接两个数据集
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3'], 'C': ['C0', 'C1', 'C2', 'C3'],'D': ['D0', 'D1', 'D2', 'D3']})
df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'], 'B': ['B4', 'B5', 'B6', 'B7'], 'C': ['C4', 'C5', 'C6', 'C7'],'D': ['D4', 'D5', 'D6', 'D7']})
pd.concat([df1, df2], axis=1)

2. merge()

merge()方法用于根据一个或多个键将不同的数据集的行连接起来,可以设置连接方式和合并键。示例代码如下:

#根据 A 列进行连接
df1 = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'], 'A': ['A0', 'A1', 'A2', 'A3'], 'B': ['B0', 'B1', 'B2', 'B3']})
df2 = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'], 'C': ['C0', 'C1', 'C2', 'C3'], 'D': ['D0', 'D1', 'D2', 'D3']})
pd.merge(df1, df2, on='key')

以上是一些Pandas数据分析实用小技巧,通过这些技巧能够提高我们的工作效率,更好地完成数据分析任务。