向python df单元格添加新行

向python df单元格添加新行,python,pandas,linefeed,Python,Pandas,Linefeed,我的处境很奇怪。我有df,我想使用df.replace添加新行。然而,我得到了更多需要的新线路。我想在df上有“.”时添加新行“\n”。当只有“,”时,它似乎也会添加新行,奇怪的是,它会删除前面的字符 import pandas as pd names = {'Name': ['Doe, J., Smith, A., Noname, S.', 'Anderson, S., Dude, B.']} df = pd.DataFrame(names) print(df) df = df.replace

我的处境很奇怪。我有df,我想使用df.replace添加新行。然而,我得到了更多需要的新线路。我想在df上有“.”时添加新行“\n”。当只有“,”时,它似乎也会添加新行,奇怪的是,它会删除前面的字符

import pandas as pd
names = {'Name': ['Doe, J., Smith, A., Noname, S.', 'Anderson, S., Dude, B.']}
df = pd.DataFrame(names)
print(df)
df = df.replace({'Name' : '.,'}, r'.,\n', regex=True)
print(df)
看起来是这样的:
名称
0美国能源部,J.,史密斯,A.,诺南,S.
安德森,S.,杜德,B.
名称
0 Do.,\n J.,\n Smit.,\n A.,\n Nonam.,\n S.
1安德索,\n S,\n Dud,\n B

可能有一个非常简单的解决方案,但我找不到。你能帮我吗?

你必须禁用正则表达式(或转义点
\.
)才能匹配真实点,否则它会匹配任何字符

>>> df["Name"].str.replace('.,', '\n', regex=False)
0    Doe, J\n Smith, A\n Noname, S.
1            Anderson, S\n Dude, B.
Name: Name, dtype: object

信用属于科雷恩

df["Name"].str.replace('\.,', '.,\n', regex=True)
0    Doe, J.,\n Smith, A.,\n Noname, S.
1            Anderson, S.,\n Dude, B.
Name: Name, dtype: object

谢谢,这将在点“.”后添加新行。删除它,但不要在逗号“.”后添加。当我在脚本中添加逗号时,它再次中断。我不想从字段中删除任何内容,只需在..string.That\之后添加换行符即可。这是有用的信息。对不起,我可能从一开始就错过了。