我有一个DataFrame,其中包含一个包含字母列的列:
import pandas as pd
df = pd.DataFrame({'id': [1, 2, 3, 4, 10],
'date': [4, 5, 6, 7, 8],
'str': [["a", "b"],["b", "c"],["c", "d"],["d", "e"],["e", "f"]]})
我想把这些字母加入一个单词。这是我提出的解决方案:
df.str.apply(lambda w: " ".join( [w for w in w]))
这似乎按预期工作,但我不确定如何纠正"因为我是Python和lambdas的新手。通常,当我们编写循环时,我们对循环使用的变量使用不同的索引,循环变量,但这里它们是相同的。
答案 0 :(得分:3)
您可以apply
join
df.str.apply(' '.join)
Out[162]:
0 a b
1 b c
2 c d
3 d e
4 e f
Name: str, dtype: object
也没有申请
df['str'].str.join(sep=' ')
Out[163]:
0 a b
1 b c
2 c d
3 d e
4 e f
Name: str, dtype: object
答案 1 :(得分:0)
您也可以将apply
用作:
`df.apply(lambda x: ''.join(x['str']), axis = 1)`