将Python Pandas输出添加到现有 Dataframe 的列中[重复]

46qrfjad  于 2023-05-21  发布在  Python
关注(0)|答案(2)|浏览(133)

此问题已在此处有答案

Create column of value_counts in Pandas dataframe(8个回答)
3天前关闭。
我有一个csv文件,我正在通过pandas阅读
这是我的代码

import pandas as pd
df=pd.read_csv(filename.csv)
x=100*df['Country'].value_counts(normalize=True).to_frame()
print(x)

这是我的输出
| 国家|
| --------------|
| 美国|
| 法国|
| 德国|
我想将此输出保存在现有数据框的新列中。如何操作?

dgsult0t

dgsult0t1#

使用Series.map

df['new'] = df['Country'].map(100*df['Country'].value_counts(normalize=True))

样本

df = pd.DataFrame({'Country':['US','US','France','US']})

df['new'] = df['Country'].map(100*df['Country'].value_counts(normalize=True))
print (df)
  Country   new
0      US  75.0
1      US  75.0
2  France  25.0
3      US  75.0
xienkqul

xienkqul2#

我希望…对你的解决方案有效

import pandas as pd
df=pd.read_csv('countries.csv')
df['New Col'] = 100*df['Country'].value_counts(normalize=True).values
df

相关问题