Pandas中的元素替换

# 序列中的元素替换
ser = pd.Series([0, 1, 2, 3, 4, 5])
print(ser.replace(0, 6))  # 单个元素替换
print(ser.replace([0, 1, 2, 3, 4, 5], [5, 4, 3, 2, 1, 0]))  # 列表替换
print(ser.replace({ 1: 11, 2: 22}))  # 字典替换

# DataFram中的元素替换
df = pd.DataFrame({ "a": [1, 2, 3, 4, 5], "b": [6, 7, 8, 9, 10]}) 
# 1.单个元素替换
print(df.replace(10, 0)) 
# 2.列表替换
print(df['a'].replace([1, 2, 3, 4, 5], [5, 4, 3, 2, 1]))  
# 3.字典替换
movie_map = dict(zip(df['b'], range(len(df['b']))))
df['b'] = df['b'].replace(movie_map))  # 适合数据量小的时候
df['b'] = [movie_map[i] for i in df['b']]  # 适合数据量大的时候处理
# 4.多列不同值替换为相同值
print(df.replace({ 'a': 1, 'b': 6}, np.nan))
# 5.插值法替换 
print(df['a'].replace([1, 2, 3], method='pad'))  
# 6.用元素在列表中的索引替换
l = [6, 5, 1, 9, 8] 
print(df['b'].replace(l, [i for i in range(len(l))])) 
    原文作者:cici_iii
    原文地址: https://blog.csdn.net/weixin_37913042/article/details/98885956
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞