每天非常钟Python数据分析[6]:Pandas高级用法
作者头像
  • 叶露珠
  • 2020-05-12 15:12:44 12

从零开始,用Python学数据分析!

欢迎订阅我们的专栏,踏上职业发展的快车道!

快速掌握基础知识

很多书籍用大量篇幅介绍pandas,这有时并不必要。我的理念是,基础知识需要全面掌握,但不需要深究。基础非常重要,但最好的学习方式是通过实际操作来掌握。

请回顾上一章节的基础内容,接下来我们将深入探讨pandas的高级用法,包括分组、数据整理、合并、时间序列处理和文本处理。

我会尽量通过简洁的小例子来解释这些概念,以便大家更容易理解。

分组

Pandas的分组功能与SQL中的分组功能相似,但它不仅可以记录分组信息,还可以执行复杂的计算。

```python import pandas as pd

df = pd.DataFrame({ '科目': ['数学', '语文', '数学', '语文', '语文', '英语', '英语', '数学', '英语'], '年级': ['一年级', '一年级', '二年级', '三年级', '二年级', '二年级', '一年级', '三年级', '三年级'], '分数': [96, 98, 80, 76, 99, 60, 90, 98, 79] })

按科目分组

grouped_subjects = df.groupby('科目')

获取分组信息

print(grouped_subjects.groups)

遍历每个分组

for name, group in grouped_subjects: print(name) print(group) ```

排序和数据整理

如果你想查看成绩排序,可以使用sort_values函数。默认情况下,它按升序排列,你可以通过设置ascending=False来改变排序方式。

```python

按分数升序排序

sorteddfasc = df.sort_values(by='分数')

按分数降序排序

sorteddfdesc = df.sort_values(by='分数', ascending=False) ```

此外,可以使用pivot函数对数据进行变形。

```python

数据变形

pivot_table = df.pivot(index='科目', columns='年级', values='分数') ```

合并数据

Pandas提供了多种方法来快速合并不同类型的数据结构,如Series、DataFrame和Panel。

```python

示例数据

df2 = pd.DataFrame({ '科目': ['物理', '化学'], '年级': ['三年级', '三年级'], '分数': [88, 98] })

使用append方法添加新数据

new_df = df.append(df2)

使用concat方法合并数据

concat_df = pd.concat([df, df2], axis=0) ```

merge方法提供了更多灵活性,可以用于更复杂的合并操作。

```python

使用merge方法合并数据

merged_df = pd.merge(df, df2, how='outer') ```

时间序列和文本处理

时间序列和文本处理的内容将在后续章节中详细介绍。

深入学习数据分析

如需进一步学习数据分析,欢迎订阅我们的专栏,享受限时优惠!

希望这些改写能符合您的需求。如果您有任何其他要求,请随时告诉我。

    本文来源:图灵汇
责任编辑: : 叶露珠
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
数据分析用法每天高级非常PythonPandas
    下一篇