Tom*_*nks 2 python group-by dataframe pandas
我想问一个关于 Pandas groupby 的问题。我正在使用 ipython 笔记本(python3)。
例如,有一个这样的数据框。
df1 = pd.DataFrame( { "Score" : ["A", "B", "C", "A", "B", "A"] ,"Class":
["Physics", "Science", "Chemistry", "Biology", "History", "English"] } )
Run Code Online (Sandbox Code Playgroud)
然后,我想与 Score 进行分组。
df1.groupby("Score")
Run Code Online (Sandbox Code Playgroud)
我需要这个的输出文件,我尝试过
df1.groupby("Score").to_csv("Score.txt",sep="\t")
Run Code Online (Sandbox Code Playgroud)
但这不起作用。有谁知道如何制作输出文件?
你问的没有意义。但你可能没有意识到。 groupby创建一个暂存区域,用于跨数据组执行聚合或转换。就像,如果我们想计算每个组的观察数量,那就是一个聚合。
因为您认为可以输出为某个表,所以我猜测您认为groupby实际上将行分组在一起。如果您以前从未见过该术语的使用,那么即使它是不正确的,这也是对这个术语的不错的解释。做到这一点的方法是使用方法进行排序sort_values。
df1.sort_values('Score')
Class Score
0 Physics A
3 Biology A
5 English A
1 Science B
4 History B
2 Chemistry C
Run Code Online (Sandbox Code Playgroud)
如果 Score 是尚未按字典顺序排序的其他内容,我们可以使用该categorical类型来为我们处理它。
score = df1.Score.astype('category', categories=list('ABCDF'), ordered=True)
df1.assign(Score=score).sort_values('Score')
Class Score
0 Physics A
3 Biology A
5 English A
1 Science B
4 History B
2 Chemistry C
Run Code Online (Sandbox Code Playgroud)
最后按照你的预期将数据输出到文件中
df1.sort_values('Score').to_csv("Score.txt", sep="\t")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13130 次 |
| 最近记录: |