我有以下数据。
import pandas as pd
data=['ABC1','ABC2','ABC3','ABC4']
data = pd.DataFrame(data,columns=["Column A"])
Column A
0 ABC1
1 ABC2
2 ABC3
3 ABC4如何在数据A栏中插入"-“a ABC?
输出:
Column A
0 ABC-1
1 ABC-2
2 ABC-3
3 ABC-4发布于 2018-12-17 16:44:21
使用replace方法作为regex和inplace方法使其在dataframe中永久化的最简单的解决方案。
>>> data['Column A'].replace(['ABC'], 'ABC-', regex=True, inplace=True)
print(data)
Column A
0 ABC-1
1 ABC-2
2 ABC-3
3 ABC-4发布于 2018-12-17 16:45:20
一个可能的解决办法是
data['Column A'] = data['Column A'].str[:-1] + '-' + data['Column A'].str[-1]
print (data)
# Column A
#0 ABC-1
#1 ABC-2
#2 ABC-3
#3 ABC-4发布于 2018-12-17 16:46:24
这里有一种方法,它只假定数字前面加上一个破折号是在结尾:
df['ColumnA'].str.split('([A-z]+)(\d+)').str.join('-').str.strip('-')
0 ABC-1
1 ABC-2
2 ABC-3
3 ABC-4另一个例子是:
df = pd.DataFrame({'ColumnA':['asf1','Ads2','A34']})将给予:
df['ColumnA'].str.split('([A-z]+)(\d+)').str.join('-').str.strip('-')
0 asf-1
1 Ads-2
2 A-34https://stackoverflow.com/questions/53819339
复制相似问题