Python 平铺数据并映射,通常也被称为数据透视表,可以帮助我们更好地理解和分析数据。以下是详细讲解Python 平铺数据并映射的完整攻略。
什么是数据透视表
数据透视表是一种在 Excel 和其他电子表格程序中广泛使用的数据分析工具。 它允许用户将一个大的数据集压缩成可读的摘要表格,从而更容易发现数据背后的趋势和模式。在Python中,可以使用pandas库中的pivot_table方法生成类似的数据透视表。
如何使用Python 平铺数据并映射
假设我们有一份数据集,包含了一些用户的姓名、年龄和性别信息。我们想知道每个性别的人数以及每个性别的平均年龄。
首先,我们需要导入 pandas 库,并且读取数据集:
import pandas as pd
data = pd.read_csv('user_info.csv')
我们来看一下数据集的前5行:
data.head()
输出:
Name Age Sex
0 John 32 Male
1 Sara 25 Female
2 Peter 39 Male
3 Alice 28 Female
4 Lucy 50 Female
接着,我们可以使用 pivot_table()
方法来生成数据透视表:
pivot_table = pd.pivot_table(data,
index=['Sex'],
values=['Age'],
aggfunc=['count', 'mean'])
在这里,我们指定了 index
,也就是按照性别分组, values
是我们想要统计的数据列,这里是年龄。aggfunc
参数指定了我们要进行的汇总操作。count
是计数,mean
是求平均值。
最后,我们可以输出生成的数据透视表:
print(pivot_table)
输出:
count mean
Age Age
Sex
Female 3 34.333333
Male 2 35.500000
我们可以发现,我们的数据透视表表示,有3个女性和2个男性,女性的平均年龄为 34.33,男性的平均年龄为 35.5。
示例2
接下来,假设我们有一份数据集,包含了一些产品的销售信息。我们想知道每个月份的总销售额和每个产品的月平均销售额。
首先,我们需要导入 pandas 库,并且读取数据集:
import pandas as pd
data = pd.read_csv('sales_info.csv')
我们来看一下数据集的前5行:
data.head()
输出:
Date Product Sales
0 1/1/19 A 100
1 1/1/19 B 150
2 1/2/19 A 75
3 1/2/19 B 200
4 1/3/19 A 200
接着,我们可以使用 pivot_table()
方法来生成数据透视表:
pivot_table = pd.pivot_table(data,
index=['Product'],
columns=['Date'],
values=['Sales'],
aggfunc=['sum','mean'])
在这里,我们指定了 index
,也就是按照产品分组, columns
是我们想要横向展示的数据列,这里是日期. values
是我们想要统计的数据列,这里是销售额。aggfunc
参数指定了我们要进行的汇总操作。sum
是总和,mean
是求平均值。
最后,我们可以输出生成的数据透视:
print(pivot_table)
输出:
sum ... mean
Sales ... Sales
Date 1/1/19 1/2/19 1/3/19 1/4/19 ... 2/26/19 2/27/19 2/28/19 3/1/19
Product ...
A 100 75 200 NaN ... NaN 100.0 100.0 200.0
B 150 200 150 NaN ... 200.0 150.0 NaN 150.0
我们可以发现,我们的数据透视表表示,每个产品在每个月份的总销售额和平均销售额。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 平铺数据并映射 - Python技术站