如何在“\n”上拆分一行并将拆分后的所有内容添加到新行?
How to split a row on ‘\n’ and add everything after the split to a new row?
我有一个数据框:
id type value
1 inner Upload new model. \nUpdate data.
2 outer Create new task.
我想通过拆分其中的文本并放置在新行中来拆分列值中包含 \n 的行。所以期望的结果是:
id type value
1 inner Upload new model.
1 inner Update data.
2 outer Create new task.
这个dataframe是例子,真实的要大很多,所以我需要写一个函数来应用于dataframe。我该怎么做?
您可以执行以下操作:
df['value'] = df['value'].replace(r'\n', '\n ', regex=True)
在 \n
和下一个单词之间放置一个空格。然后
(df.set_index(['id', 'type'])
.apply(lambda x: x.str.split('\n ').explode())
.reset_index())
这给出了
id type value
0 1 inner Upload new model.
1 1 inner Update data.
2 2 outer Create new task.
也许这会有所帮助:
>>> df.assign(value=df['value'].str.split('\n')).explode('value')
'''
id type value
0 1 inner Upload new model.
0 1 inner Update data.
1 2 outer Create new task.
我有一个数据框:
id type value
1 inner Upload new model. \nUpdate data.
2 outer Create new task.
我想通过拆分其中的文本并放置在新行中来拆分列值中包含 \n 的行。所以期望的结果是:
id type value
1 inner Upload new model.
1 inner Update data.
2 outer Create new task.
这个dataframe是例子,真实的要大很多,所以我需要写一个函数来应用于dataframe。我该怎么做?
您可以执行以下操作:
df['value'] = df['value'].replace(r'\n', '\n ', regex=True)
在 \n
和下一个单词之间放置一个空格。然后
(df.set_index(['id', 'type'])
.apply(lambda x: x.str.split('\n ').explode())
.reset_index())
这给出了
id type value
0 1 inner Upload new model.
1 1 inner Update data.
2 2 outer Create new task.
也许这会有所帮助:
>>> df.assign(value=df['value'].str.split('\n')).explode('value')
'''
id type value
0 1 inner Upload new model.
0 1 inner Update data.
1 2 outer Create new task.