2016-12-30 120 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()快得多。