python - Pandas - 与数组列的字符串连接
问题描述
我正在尝试从我的数据框中的两列创建一个新字符串。我的一列包含 1 个值。另一列包含一个数组。最终结果应该类似于下面的第三列。
Alpha Val Result
0 A ['1, 2, 3'] ['A1', 'A2', 'A3']
我尝试过列表理解,但它只返回一个错误“只能将 str(不是“list”)连接到 str”
[alpha + val for alpha in df['Alpha'].str.split(",") for val in df['Val'].str.split(",")]
这有点像一个 1X1 矩阵和一个 1X3 矩阵(但连接字符串),但我不知道如何使用 pandas 来实现这一点。
解决方案
import pandas as pd
df = pd.DataFrame({'Alpha':['A', 'B'],
'Val':[['1, 2, 3'], ['4, 5, 6, 7']]})
def newlist(A,B):
return [A + i.strip() for i in B[0].split(',')]
df['Result'] = df.apply(lambda x: newlist(x.Alpha, x.Val), axis=1)
推荐阅读
- java - 处理程序调度失败;嵌套异常是 java.lang.NoClassDefFoundError
- php - 一些 PHP 脚本正在运行而另一些没有运行:可能的原因?
- twig - 如何从控制器打印变量到布局?
- php - 找到第一个合适的元素数组
- cassandra - Cassandra CQL:CSV插入反转列
- java - 带有 @JsonValue 字段的 @JsonIgnore
- java - apache poi 中的 Cell.getFillForegroundColorColor() 结果始终为空
- python - 检查变量是否不是 None 并且是包含特定键的 dict
- gnuplot - 在 gnuplot 中使用不同的误差线样式绘图
- ssrs-2012 - 如何根据 SQL Server 报表生成器中的 db 值将多个图像添加到表格单元格