并用逗号替换空格

并用逗号替换空格

我在数据框中有一些看起来像这样的数据:

Japanese
--------
明日|Adverb の|Case 天気|Weather は|Case なんですか


我正在使用Pandas寻找一种在新列中返回此值的方法

Tag
------
Adverb, Case, Weather


到目前为止,我已经能够使用

df['Tag'] = df.iloc[:, 0].str.replace('[^a-zA-Z]', ' ')


要得到

Tag
------
Adverb Case Weather


但是当我跑步时

df['Tag'] = df['Tag'].str.replace(' ', ',')


我懂了

Tag
------
,,,,Adverb,,,Case,,,,Weather,,,Case,,,,,,


我认为我应该使用str.extract而不是replace,但是在这种情况下,我还会收到一条错误消息。

最佳答案

pandas.Series.str.findall

s = df.Japanese.str.findall('(?i)[a-z]+')
pd.Series([', '.join({*x}) for x in s], s.index)

0    Adverb, Weather, Case
dtype: object




已排序

s = df.Japanese.str.findall('(?i)[a-z]+')
pd.Series([', '.join(sorted({*x})) for x in s], s.index)

0    Adverb, Case, Weather
dtype: object

关于python - 提取竖线和日语字符之间的字母,并用逗号替换空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52824407/

10-09 17:28