我刚开始使用 Pandas,我正在努力添加一个简单的列来添加字符串组 + 列中唯一值的出现次数。
我试过用groupby,但我不知道如何根据列名添加一个数字
import pandas as pd
data = pd.read_csv('./data.csv')
data['group'] = data.groupby('name') # ???
name color
0 car white
1 car black
2 car red
3 bus white
4 bus black
5 bus red
应该是这样的
name color group
0 car white group1
1 car black group1
2 car red group1
3 bus white group2
4 bus black group2
5 bus red group2
最佳答案
使用factorize()
这里:
df=df.assign(group=(pd.factorize(df.name)[0]+1))
name color group
0 car white 1
1 car black 1
2 car red 1
3 bus white 2
4 bus black 2
5 bus red 2
关于python - 添加一个 DataFrame 列以基于另一个列实例进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56906805/