python - 如何使用其他现有类别覆盖 pandas DataFrames 中的列

标签 python pandas numpy dataframe

这是我的数据集

No   Item             Desc
1    AWS              Lambda
2    AWS              Polly
3    Microsoft        Azure
4    Microsoft        Excel
5    Google           BigQuery
6    RDS              Database
7    Athena           Big Data
8    Lambda           NoSQL

我想要的是将 AWSGoogleMicrosoft 之外的任何其他项目制作为 AWS

No   Item             Desc
1    AWS              Lambda
2    AWS              Polly
3    Microsoft        Azure
4    Microsoft        Excel
5    Google           BigQuery
6    AWS              Database
7    AWS              Big Data
8    AWS              NoSQL

最佳答案

使用numpy.whereisin :

df['Item'] = np.where(df['Item'].isin(['Microsoft','Google']), df['Item'], 'AWS')
#alternative
#df['Item'] = np.where(np.in1d(df['Item'], ['Microsoft','Google']), df['Item'], 'AWS')

或者:

df.loc[~df['Item'].isin(['Microsoft','Google']), 'Item'] = 'AWS'
<小时/>
print (df)
   No       Item      Desc
0   1        AWS    Lambda
1   2        AWS     Polly
2   3  Microsoft     Azure
3   4  Microsoft     Excel
4   5     Google  BigQuery
5   6        AWS  Database
6   7        AWS  Big Data
7   8        AWS     NoSQL

关于python - 如何使用其他现有类别覆盖 pandas DataFrames 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51280076/

相关文章:

python - 使用pyodbc将数据从excel导入到python中的postgres

python - python pandas 中两个 datetime.time 列之间的微秒差异?

pandas 按子组的平均值划分组

python - Numpy:如何获取两个矩阵中不同的项?

python - numpy.pad() 函数是否有相反/相反的功能?

Python:根据对象属性从列表中删除对象

python - 类型错误 : getattr(): attribute name must be string

python - 散列一系列值

python - 使用Pycharm导入pandas报错

python - 制作混合类型的 numpy 数组并将其写入 csv