python-3.x - 删除列表中未包含的熊猫单元格值
问题描述
给定以下列表:
a = ['1', '2', '12', '5']
我正在尝试从与列表中的元素不匹配的 Dataframes 单元格中删除所有值。我确信列表中的每个值在数据框的每一行中只出现一次。
test = pd.DataFrame({'0' : ['1','4','5','5'],
'1' : ['4','1','12','10'],
'2' : ['10','12','4','2'],
'3' : ['2','10','10','4'],
'4' : ['5','2','2','1'],
'5' : ['12','5','1','12']})
0 1 2 3 4 5
0 1 4 10 2 5 12
1 4 1 12 10 2 5
2 5 12 4 10 2 1
3 5 10 2 4 1 12
重要的方面是维护数据框中列表中匹配数字的顺序。
结果应如下所示:
0 1 2 3
0 1 2 5 12
1 1 12 2 5
2 5 12 2 1
3 5 2 1 12
提前致谢!
解决方案
df.apply(lambda x: pd.Series([i for i in list(x) if i in ' '.join(a)]), axis=1)
输出
0 1 2 3
0 1 2 5 12
1 1 12 2 5
2 5 12 2 1
3 5 2 1 12
推荐阅读
- jquery - 我应该使用什么触摸事件来替代 Iphone 的点击?
- docker - Docker 端口映射在 Windows 10 上不起作用
- java - Maven 项目 + JavaFX - 无法添加 weka 依赖项
- reactjs - 使用部署在 Apache Tomcat 上的 Create-react-app 创建的 React 网站出现空白屏幕
- arrays - 用恒定时间的新数据更新现有列表?
- python - Pandas 保存为 CSV 时更改 NaN 值的格式
- javascript - Jquery 部分追加
- python - 如何在 Virtual Studio Code 中为 sqlite3 文本着色
- date - Stata 面板数据:egen =total() 从给定日期开始的时间段内
- bash - 在 grep 命令后使用时不显示 awk 的输出