我想从pandas dataframe列的列表中删除一个特定值。我该怎么做呢?
df = pd.DataFrame({'A': ['a1', 'a2', 'a3'],
'B': [['b1', 'b2'], ['b1', 'b1'], ['b2']],
'C': [['c1', 'b1'], ['b3'], ['b2', 'b2']],
'D': ['d1', 'd2', 'd3']})
我想从数据帧中的列'B‘中删除列表中的字符串'b1’。
发布于 2018-12-22 02:22:18
您可以使用列表理解
df['B'] = df.B.apply(lambda x: [i for i in x if i != 'b1'])
A B C D
0 a1 [b2] [c1, b1] d1
1 a2 [] [b3] d2
2 a3 [b2] [b2, b2] d3
发布于 2018-12-22 02:23:16
就像我之前所有的答案一样
(df.B.map(set)-{'b1'}).map(list)
Out[171]:
0 [b2]
1 []
2 [b2]
Name: B, dtype: object
https://stackoverflow.com/questions/53889227
复制相似问题