使用lambdas加入信件

时间:2018-03-11 16:41:36

标签: python pandas lambda

我有一个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的新手。通常,当我们编写循环时,我们对循环使用的变量使用不同的索引,循环变量,但这里它们是相同的。

2 个答案:

答案 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)`