python - 合并列表是将 pandas 数据框的多列转换为一列中的单个列表
问题描述
我有一个包含两列列表的数据框。我想将这些列合并到一个列中,并将这些列表合并到一个列表中。此外,此列表应仅包含原始列表中的唯一值。
我尝试使用df['E']=df[['B','C']].values.tolist()
.
但是,这会创建一个包含两个列表的值的单列。
数据框看起来像这样:
A B C D
a1 [b1,b2] [c1,b1] d1
a2 [b1,b1] [b3] d2
a3 [b2] [b2,b2] d3
最终的数据框应如下所示:
A B C D E
a1 [b1,b2] [c1,b1] d1 [b1,b2,c1]
a2 [b1,b1] [b3] d2 [b1,b3]
a3 [b2] [b2,b2] d3 [b2]
编辑:数据框列表中的值是字符串。
解决方案
国际大学联盟
df['E']=(df.B+df.C).map(set).map(list)
df
Out[81]:
A B C D E
0 a1 [b1, b2] [c1, b1] d1 [b2, b1, c1]
1 a2 [b1, b1] [b3] d2 [b3, b1]
2 a3 [b2] [b2, b2] d3 [b2]
推荐阅读
- json - 如何使用脚本外壳将文件附加到具有合适格式的另一个文件中
- java - JavaFX 包括 Linux 和 MacOS 运行时
- java - kafka应用程序的多个消费者可以在同一个线程上工作吗?
- angular - Angular 反应形式 - 验证模糊但在输入时更新模型
- c++ - 将可变大小数组声明为类/模板类成员变量
- c++ - 从没有 .get() 的结构返回成员
- c# - C# 乘法给出错误答案
- javascript - 可以为 querySelectorAll 使用数组吗?
- mysql - 如何在 SQL 中创建一个 .txt 文件并将数据插入其中?
- javascript - 单击内部元素时停止执行容器 div 中的 onClick 函数