python - 如何从熊猫数据框中选择特定列项作为列表?
问题描述
我有一个这样的数据框:
A B C D
---------------
0 A 0 C D
1 A 0 C D
2 0 B C 0
3 A 0 0 D
4 0 B C 0
5 A 0 0 0
如何将其转换为这种形式(不考虑出现的所有零):
A B C D E
----------------------
0 A 0 C D [A,C,D]
1 A 0 C D [A,C,D]
2 0 A C 0 [A,C]
3 A 0 0 D [A,D]
4 0 A C 0 [A,C]
5 A 0 0 0 [A]
最后进入一组项目,如:
[{A,C,D},{A,C,D},{A,C},{A,D},{A,C},{A}]
解决方案
使用带有过滤的嵌套列表推导0
:
#if 0 is number change '0' to 0
df['E'] = [[y for y in x if y != '0'] for x in df.values.tolist()]
print (df)
A B C D E
0 A 0 C D [A, C, D]
1 A 0 C D [A, C, D]
2 0 B C 0 [B, C]
3 A 0 0 D [A, D]
4 0 B C 0 [B, C]
5 A 0 0 0 [A]
对于set
s:
s = [set([y for y in x if y != '0']) for x in df.values.tolist()]
print (s)
[{'A', 'D', 'C'}, {'A', 'D', 'C'}, {'C', 'B'}, {'A', 'D'}, {'C', 'B'}, {'A'}]
推荐阅读
- javascript - SQL Server 2016 - 为什么我需要为我的选择语句指定一个根元素
- django - Django admin,如何选择多个字段并一次编辑
- excel - Excel vba CopyFromRecordset 不粘贴日期格式的单元格
- python-3.x - 网页抓取 olx
- java - Selenium 如何获取 WebElement 中的所有元素
- android - 在 Ardroid 中使用本地 JSON 文件与使用 JSON 字符串
- javascript - 幻灯片效果,每张幻灯片 3 张图像
- c# - 为什么一部安卓手机会自动保存图片而另一部没有?
- python - Python.h 的递归包含导致编译错误
- java - 没有命名空间的肥皂响应