熊猫:如何编辑列中的值

时间:2016-03-25 18:14:13

标签: python pandas slice

我的df带有一列值前缀:{H,HR,S等}。我想修改这些值,使其为所有hH, 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

1 个答案:

答案 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()