Pandas 分割字符串:将所有字符保留到第二个句号并创建新列来保存新值
Pandas slicing strings: keep all characters up to the second full stop and create new column to hold the new value
我需要对特定列中的字符串进行切片,并创建一个包含切片的新列。
即现有的 A 列:'CODE.45.6787' 用于创建 B 列:'CODE.45'
谢谢!
df["B"] = df["A"].str.rsplit(".", 1).str[0]
print(df)
A B
0 CODE.45.6787 CODE.45
为了通用起见,我不会假设您的字符串都只有 2 个句号。因此,我不会从右侧拆分您的字符串,而是继续从左侧拆分字符串。为此,我们可以这样做:
df['B'] = df['A'].str.split('.').str[0:2].str.join('.')
演示
df = pd.DataFrame({'A': ['CODE.45.6787', 'CODE.12.3456.78']})
df['B'] = df['A'].str.split('.').str[0:2].str.join('.')
print(df)
A B
0 CODE.45.6787 CODE.45
1 CODE.12.3456.78 CODE.12
我需要对特定列中的字符串进行切片,并创建一个包含切片的新列。 即现有的 A 列:'CODE.45.6787' 用于创建 B 列:'CODE.45' 谢谢!
df["B"] = df["A"].str.rsplit(".", 1).str[0]
print(df)
A B
0 CODE.45.6787 CODE.45
为了通用起见,我不会假设您的字符串都只有 2 个句号。因此,我不会从右侧拆分您的字符串,而是继续从左侧拆分字符串。为此,我们可以这样做:
df['B'] = df['A'].str.split('.').str[0:2].str.join('.')
演示
df = pd.DataFrame({'A': ['CODE.45.6787', 'CODE.12.3456.78']})
df['B'] = df['A'].str.split('.').str[0:2].str.join('.')
print(df)
A B
0 CODE.45.6787 CODE.45
1 CODE.12.3456.78 CODE.12