比如说,我有一个数据框架:
| ColumnA | Column B |
|----------|----------|
| prefix_1 | [A, B] |
| prefix_2 | [C, D] |
我希望得到一个新的DataFrame,如下所示:
| ColumnA | Column B | Column C |
|----------|----------|--------------------------|
| prefix_1 | [A, B] | [prefix_1-A, prefix_1-B] |
| prefix_2 | [C, D] | [prefix_2-C, prefix_2-D] |
我该怎么转账?谢谢。
我尝试了下面,但没有工作:
df['ColumnC'] = df['ColumnB'].str.split(',').apply(lambda x: [df['ColumnA'] + '-' + e.strip() for e in x]).tolist()
2条答案
按热度按时间mm9b1k5b1#
您使用
lambda
函数是正确的,但我将这样使用它:确保使用
axis=1
,以便lambda函数按行应用。gcxthw6b2#
使用列表解析。
如果B列中有列表:
如果B列中有字符串:
如果你想要一个字符串作为输出:
输出:
可重现输入: