假设我有一个熊猫数据帧,其中两列由字符串列表的如下所示一到在大熊猫数据帧串的两个列表之间的一对一映射
df=pd.DataFrame({'A' : [ ['a','b','c'], ['d','e','f'] ], 'B':[ ['g','h','i'], ['j','k','l'] ] })
我想连接在所述第一字符串元素在A中的第一个列表中的第一个字符串元素位于B的第一个列表中,并带有连字符等。最终的产品将是另一个C柱使
df['C'] = [ ['a-g','b-h','c-i'], ['d-j','e-k','f-l' ] ]
我尝试了不同的功能与应用。()和map(),但什么也没有产生预期的结果,任何帮助表示赞赏。
它不工作!实际上,它给出了与前面建议的答案相同的错误'传递值的形状是(17,2),指数意味着(17,34)'知道数据框的形状是17行和34列。我尽可能地回答了你的答案,它在数据框仅包含这2列的时候工作,当你添加其他类型的额外列时,它就不再工作了。我试图用df [['A','B']]替换df.apply。现在应用它给我下面的错误'无法从形状(15)广播输入数组到形状(2)' –
@MartinHeusen如果你如果要连接所有34列,最好确保每个单元格的元素数量完全相同。 –
不,我不想连接34列,只有2列,我知道每行中列表的长度是相同的。每行的长度可能不同,但在每行中它们是相同的! –