我的df带有一列值前缀:{H,HR,S等}。我想修改这些值,使其为所有h
和H, HR, HJ, HC
返回所有s
的{{1}}。数据为here
S, SR, SJ SC
我从MaxU运行了以下内容:
df.replace({'prefix':{r'^(H | HR | HC | HJ |)$':'h',r'^(S | SR | SC | SJ |)$':'s'} },regex = True,inplace = True)
它有效!问题解决了!
session prefix number disposition catcode bill
0 114 H 131 support J6200 H131
1 114 H 138 oppose L1100 H138
2 114 H 140 support NaN H140
3 114 H 140 oppose J7500 H140
4 114 H 140 support NaN H140
答案 0 :(得分:1)
试试这个:
df.replace({'prefix': {r'^(H|HR|H\*)$': 'h', r'^(S|SR|S\*)$': 's'}}, regex=True, inplace=True)
如果您只想要前缀列的第一个字母:
df.prefix.str[0]
所以用小写的第一个字母替换它:
df.prefix = df['prefix'].str[0].str.lower()