pandas替换数据 典型应用 replace
替换数据 replace方法可以对数据进行批量替换: s.replace(0, 5) # 将列数据中的0换为5 df.replace(0, 5) # 将数据中的所有0换为5 df.replace([0, 1, 2, 3], 4) # 将0~3全换成4 df.replace([0, 1, 2, 3], [4, 3, 2, 1]) # 对应修改 # {'pad', 'ffill', 'bfill', None} 试试 s.replace([1, 2], method='bfill') # 向下填充 df.replace({0: 10, 1: 100}) # 字典对应修改 df.replace({'Q1': 0, 'Q2': 5}, 100) # 将指定字段的指定值修改为100 df.replace({'Q1': {0: 100, 4: 400}}) # 将指定列里的指定值替换为另一个指定的值 # 使用正则表达式 df.replace(to_replace=r'^ba.$', value='new', regex=True) df.replace({'A': r'^ba.$'}, {'A': 'new'}, regex=True) df.replace(regex={r'^ba.$': 'new', 'foo': 'xyz'}) df.replace(regex=[r'^ba.$', 'foo'], value='new') 5.4.3 填充空值 fillna对空值填入指定数据,通常应用于数据清洗。还有一种做法是删除有空值的数据。 df.fillna(0) # 将空值全修改为0 # {'backfill', 'bfill', 'pad', 'ffill', None}, 默认为None df.fillna(method='ffill') # 将空值都修改为其前一个值 values = {'A': 0, 'B': 1, 'C': 2, 'D': 3} df.fillna(value=values) # 为各列填充不同的值 df.fillna(value=values, limit=1) # 只替换第一个