python - 删除列但保留特定值 pandas df
问题描述
我确定这是在某处,但我似乎找不到它。我正在尝试删除或选择指定columns
的pandas df
. 但我想保留某些值或strings
删除那些值columns
。
对于以下内容,df
我想保留但删除其他所有内容。'Big','Cat'
Col B,C
import pandas as pd
d = ({
'A' : ['A','Keep','A','Value'],
'B' : ['Big','X','Big','Y'],
'C' : ['Cat','X','Cat','Y'],
})
df = pd.DataFrame(data=d)
如果我执行以下任一操作,它只会选择该行。
Big = df[df['B'] == 'Big']
Cat = df[df['C'] == 'Cat']
我的预期输出是:
A B C
0 A Big Cat
1 Keep
2 A Big Cat
3 Value
我需要类似的东西x = df[df['B','C'] != 'Big','Cat']
解决方案
似乎您只想保留一些值并在 ohters 上有空字符串
利用np.where
keeps = ['Big', 'Cat']
df['B'] = np.where(df.B.isin(keeps), df.B, '')
df['C'] = np.where(df.C.isin(keeps), df.C, '')
A B C
0 A Big Cat
1 Keep
2 A Big Cat
3 Value
另一种解决方案使用df.where
cols = ['B', 'C']
df[cols] = df[cols].where(df.isin(keeps)).fillna('')
A B C
0 A Big Cat
1 Keep
2 A Big Cat
3 Value
推荐阅读
- mysql - 如何按 JSON 值排序?
- bash - entrypoint.sh - line 9: syntax error: unexpected "("
- forms - Redirect to page after successfully entering in information in Squarespace
- json - How to extract lat lng from JSON using flutter?
- javascript - 使用 React useState 访问嵌套数组数据时遇到问题
- c++ - 为什么递归函数以预期的方式更改其参数(C++)?
- python - 在线使用Airtable Python Wrapper文档问题
- java - MySQL trigger working through direct insert, but not when committing through Hibernate
- javascript - 每次进行更改时都需要运行“npm run build”吗?
- c++ - 函数调用中的参数顺序重要吗?