2016-12-30 97 views
4

在蟒蛇大熊猫,有STR值的系列/数据框柱结合成一个长字符串:Python的大熊猫连接字符串的系列成一个字符串

df = pd.DataFrame({'text' : pd.Series(['Hello', 'world', '!'], index=['a', 'b', 'c'])}) 

目标:“你好!世界

到目前为止,诸如df['text'].apply(lambda x: ' '.join(x))等方法只返回该系列。

什么是达到目标连接字符串的最佳方式?

回答

7

可以join在一系列直接的字符串:

In [3]: 
' '.join(df['text']) 

Out[3]: 
'Hello world !' 
+0

我在执行此操作时遇到错误: “TypeError:序列项目0:期望的str实例,找到列表”。这是在python3中,请你指导一下? – user1930402

+0

@ user1930402在注释中提问问题在SO上表现不佳,错误消息很明显,您的数据框中没有字符串,因此出现错误。由于我无法访问您的计算机,因此我只能推测出于某种原因,您将列表存储在您的df中,这是不可取的。我不能帮助你,你需要发布一个新问题,你还应该问自己,如果你真的需要存储列表,它会在你存储非标量值的时候打败使用熊猫的观点 – EdChum

2

除了join,你也可以使用熊猫字符串的方法.str.cat

In [171]: df.text.str.cat(sep=' ') 
Out[171]: 'Hello world !' 

然而,join()快得多。