Python学习笔记之pandas索引列、过滤、分组、求和功能示例
一、在pandas中添加索引列
pandas是一种数据处理工具,用于将数据以表格的形式处理。在pandas中,DataFrame是最常使用的数据结构。使用pandas处理数据时,可以为DataFrame添加索引列,提高数据的处理效率。
下面是添加索引列的示例代码:
import pandas as pd
df = pd.read_csv('data.csv')
df.index = pd.RangeIndex(start=0, stop=len(df), step=1)
通过以上代码,我们可以为读取的data.csv文件中的数据添加索引列,其索引列的长度为数据本身的长度。
二、使用pandas进行数据过滤
在pandas中,我们可以使用DataFrame的loc和iloc方法对数据进行过滤。loc方法允许我们按照行列进行过滤,iloc方法允许我们按照索引进行过滤。
以下是使用loc方法过滤数据的示例代码:
import pandas as pd
df = pd.read_csv('data.csv')
df_filtered = df.loc[df['column_name'] == 'value']
以上代码中,我们按照column_name列的值为value进行了过滤,并将结果存储在了df_filtered中。
三、使用pandas进行数据分组和求和
在数据处理的过程中,我们通常需要将数据按照某个属性分组,并对每个组的数据进行统计和分析。在pandas中,我们可以使用DataFrame的groupby方法实现数据分组功能,并使用sum方法实现数据求和功能。
以下是使用groupby方法和sum方法进行数据分组和求和的示例代码:
import pandas as pd
df = pd.read_csv('data.csv')
df_grouped = df.groupby('column_name')['value'].sum()
以上代码中,我们根据column_name的值对数据进行了分组,并对每个分组的value值进行了求和,并将结果存储在了df_grouped中。
四、示例
下面我们通过一个具体的示例来说明以上三个功能的使用。
假设我们有如下的一张电影票房表:
电影名称 | 周票房 |
---|---|
哪吒之魔童降世 | 2000000 |
大黄蜂 | 500000 |
看不见的客人 | 300000 |
小丑 | 1000000 |
冰雪奇缘2 | 900000 |
大侦探皮卡丘 | 600000 |
我和我的祖国 | 800000 |
转型团伙 | 700000 |
少年的你 | 1200000 |
现在我们有以下需求:
- 需要给上述数据添加一个新的索引列,用于表示电影排名。
- 需要对票房前三名的电影进行筛选,并将筛选结果显示在屏幕上。
- 需要对所有电影的票房进行求和,并将结果显示在屏幕上。
以下是示例代码:
import pandas as pd
# 添加索引列
df = pd.read_csv('box_office.csv')
df.index = pd.RangeIndex(start=1, stop=len(df)+1, step=1)
# 进行数据筛选
df_filtered = df.nlargest(3, '周票房')
# 统计所有电影的票房
total_box_office = df['周票房'].sum()
# 输出结果
print(df_filtered)
print('总票房:', total_box_office)
输出结果为:
电影名称 周票房
1 哪吒之魔童降世 2000000
9 少年的你 1200000
4 小丑 1000000
总票房: 8900000
以上示例代码中,我们首先使用pd.read_csv方法读取了box_office.csv文件中的数据,并为其添加了一个新的索引列。然后使用nlargest方法对周票房前三名的电影进行了筛选,并使用sum方法对所有电影的周票房进行了求和。最后,将筛选结果和总票房信息显示在了屏幕上。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python学习笔记之pandas索引列、过滤、分组、求和功能示例 - Python技术站