Pandas: 如何将所有行合并为一行?

Pandas: How to merge all rows into a single row?

我有以下数据框:

  text
1 "abc" 
2 "def" 
3 "ghi"
4 "jkl" 

如何将这些行合并到一个数据框中,如下所示?

  text 
1 "abc, def, ghi, jkl" 

逗号分隔不是必须的,但所有值都应该在一行中。这些值也可以存储在以逗号分隔的字符串列表中。

试试这个:

df = pd.DataFrame({'text': [', '.join(df['text'].str.strip('"').tolist())]})

输出:

>>> df
                 text
0  abc, def, ghi, jkl

如果您只需要值列表,请使用 to_list:

sr = pd.Series(', '.join(df['text'].to_list()), name='text')

# OR

df = pd.DataFrame([', '.join(df['text'].to_list())], columns=['text'])

输出:

>>> sr
0    abc, def, ghi, jkl
Name: text, dtype: object

>>> df
                 text
0  abc, def, ghi, jkl