Python 更改熊猫组中的列值

Python 更改熊猫组中的列值,python,pandas,Python,Pandas,我需要在两组中更改一列的值,例如country列有几个值,但我需要在Dataframe中使用US和Non-US。请建议如何在python数据框架中实现这一点 我尝试了下面的代码,但没有成功 一, 二, 你需要: df = pd.DataFrame({'Country': ['United-States', 'Canada', 'Slovakia']}) print(df) Country 0 United-States 1 Canada 2 Slo

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

我尝试了下面的代码,但没有成功

一,

二,

你需要:

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'] = 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")

除了@jezrael答案中的NumPy版本外,熊猫还有自己的
系列。其中()
函数:

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

>>> df.Country.where(df.Country == 'United-States', 'Non-US')
0    United-States
1           Non-US
2           Non-US
where方法是if-then习惯用法的应用程序。每人 元素,如果cond为True,则使用该元素; 否则,将使用DataFrame other中的相应元素

DataFrame.where()的签名不同于numpy.where()。 其中(m,df2)大致相当于np.where(m,df1,df2)


我需要更改两组中某列的值,例如country列有多个值,但我需要Pandas Dataframe中的US和Non-US
什么操作-因此您的解决方案显然是错误的…我最喜欢此解决方案。后者是一个很好的一行@OP你应该看看这一个df['Country']=np。其中(df['Country']!='United States'、'Non US'、'US')我试过上面的一个,但它正在更新为Non-US@chetansharma-我认为一些空格应该有问题?您可以通过
print(df['Country'].tolist())检查它吗
!如果我的答案有用,别忘了-点击复选标记(
),将其从灰显切换为填充。谢谢
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")
>>> df = pd.DataFrame({'Country': ['United-States', 'Canada', 'Slovakia']})

>>> df.Country.where(df.Country == 'United-States', 'Non-US')
0    United-States
1           Non-US
2           Non-US