我有一个数据框df,它是通过执行两列groupby操作获得的:
df = data.groupby(['letters', 'syllables']).size()
这是df的前11行的输出:
0
letters syllables
1 1 25
3 1
2 1 188
2 44
3 1
4 1
3 1 1304
2 189
3 89
4 2
5 3
我想过滤df,以便对于letters中的每个索引,只显示syllables的最大和最小索引,给出以下输出:
0
letters syllables
1 1 25
3 1
2 1 188
4 1
3 1 1304
5 3
更好的方法是创建一个这样的数据框:
0
letters statistic syllables
1 min 1 25
max 3 1
2 min 1 188
max 4 1
3 min 1 1304
max 5 3
完整数据帧有120行。我知道我可以通过循环来做到这一点,但我想更好地理解pandas操作,并想知道如何更有效地做到这一点。
上面的示例数据可以使用以下命令从csv文件导入到多级索引数据框中:
df = pd.read_csv('data.csv', index_col