我有一个GroupBy对象,行索引是整数。
light worst_injury count
1 5 10217
2 5 4067
3 5 2142
4 5 1690
5 5 25848
6 5 734
9 5 18
我想重新命名行(而不是列!),以便“light”列包含特定的字符串:
light worst_injury count
Day 5 10217
Dawn 5 4067
Dusk 5 2142
Dark- lit 5 1690
Dark- unlit 5 25848
Other 5 734
Unknown 5 18
我有一系列字符串,对应每个数字(例如'Day'、'Dawn'等),但我不知道如何在GroupBy函数调用之前或期间将它们设置为索引。我也尝试过制作一个透视表,但由于相同的原因看起来无法这样做。
我想我可以编写一个脚本来更改原始数据为这些字符串,而不是数字。这似乎是一种效率较低的方法,但如果在事实上之前或之后更改groupby对象没有办法,我开放这个选项。
以下是现有的代码;它将数据框按照灯光和每个受伤程度进行分组,然后计算数量:
df = pd.read_csv(filename, sep='|', usecols=['crash_deer_involv_assoc', 'worst_injury_in_accident', 'light', 'accident_month'])
for i in range(1,6):
inj = df[(df['worst_injury_in_accident'] == i)]
grouped = inj.groupby(['light','worst_injury_in_accident'])
grouped.agg('count')
df.light.map
更改为df['light'].map
时,问题得到了解决。感谢你的帮助! - ale19