如何在Pandas DataFrame中将切片行的指定列值替换为None
pandas 替换指定行和列的值为None
原始DataFrame
colA colB colC 12 33 66 13 35 67 14 44 77 15 55 79 18 56 81
实现步骤
- 导入pandas并构造DataFrame
import pandas as pd data = { 'colA': [12, 13, 14, 15, 18], 'colB': [33, 35, 44, 55, 56], 'colC': [66, 67, 77, 79, 81] } df = pd.DataFrame(data)
- 替换指定区域的值
- 如果不需要严格显示
None(pandas默认会将数值列的None转为NaN,二者逻辑等价),直接执行:
df.loc[2:, ['colB', 'colC']] = None
- 如果需要在输出中严格显示
None,先将目标列转为object类型再赋值:
# 转换列类型为object df[['colB', 'colC']] = df[['colB', 'colC']].astype(object) # 替换索引2及之后行的colB、colC为None df.loc[2:, ['colB', 'colC']] = None
最终输出
colA colB colC 12 33 66 13 35 67 14 None None 15 None None 18 None None
内容的提问来源于stack exchange,提问作者serdar_bay
相关产品推荐
相关产品推荐

