如何对DataFrame的隔行指定列使用sub()替换字符串内容?
解决方法
首先构造你的原始DataFrame:
import pandas as pd data = { 'X1': [1, 2, 3, 4, 5], 'X2': [4, 4, 1, 2, 3], 'X3': ['aeven', 'beven', 'ceven', 'deven', 'geven'] } df = pd.DataFrame(data)
接下来通过**索引筛选+str.sub()**实现隔行替换:
# 筛选索引为偶数的行(对应原始数据第1、3、5行),执行替换 df.loc[df.index % 2 == 0, 'X3'] = df.loc[df.index % 2 == 0, 'X3'].str.sub(r'even', 'odd')
执行后得到的结果就是你想要的:
X1 X2 X3 0 1 4 aodd 1 2 4 beven 2 3 1 codd 3 4 2 deven 4 5 3 godd
说明
df.index % 2 == 0用来定位0、2、4这几个0-based索引的行(即从1开始数的第1、3、5行)str.sub(r'even', 'odd')会把选中行的X3列里的"even"替换成"odd",完全符合你要求的sub()方法使用场景
内容的提问来源于stack exchange,提问作者flâneur
相关产品推荐
相关产品推荐

