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
我有以下数据框:
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