在组中更改列值

2024-05-08 13:04:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在两个组中更改列的值,比如country列有几个值,但我需要在Dataframe中使用US和Non-US。请建议如何在python数据框架中实现这一点。你知道吗

我尝试了下面的代码,但没有运气

1。你知道吗

if df['Country'] != 'United-States':
     df['Country'] = 'Non-US'

2。你知道吗

df.loc[df['Country'] != 'United-States', 'Country'] = 'Non-US'

Tags: 数据代码框架dataframedfifcountryloc
3条回答

您需要:

df = pd.DataFrame({'Country': ['United-States', 'Canada', 'Slovakia']})
print(df)
         Country
0  United-States
1         Canada
2       Slovakia

df['Country'] = np.where(df['Country'] == 'United-States', 'US', 'Non-US')

或:

df['Country'] = np.where(df['Country'] != 'United-States', 'Non-US', 'US') 

另一种解决方案:

df['Country'] = df['Country'].map({'United-States':'US'}).fillna('Non-US')

print (df)
  Country
0      US
1  Non-US
2  Non-US

请尝试以下操作:

US = df[df['Country']=='United-States']
Other = df[df['Country']!='United-States']

这肯定会有帮助

您可以按如下方式使用应用功能:

df['country']=df['country'].apply(lambda x: "Non-US" if x != 'United-States' else "United-States")

相关问题 更多 >