python - 如何在不依赖列名的情况下操作数据框的值
问题描述
我有一个数据框,其中包含如下列:
MultiIndex([('Longitude', 'Field1'),
('Latitude', 'Field1'),
('Name with Name Text', 'Field1'),
('Name with Name Text', 'Field2'),
('IsPresent', 'Field1')],)
一个 csv 的例子是
我想遍历数据中的每一行,并且对于我想替换某些字符(如果存在)的字段的每个值。例如,替换'X'
为'Y'
。但我不想依赖列名,因为它可以更改。我想遍历每个值并剥离字符。下面的迭代有字段名称,所以不能使用它。
for i, j in df1.iterrows():
print(j['Name with Name Text']['Field1'])
解决方案
尽管您当然可以按照上面评论中的描述逐行迭代,但您也可以尝试找到一个“一次”在整个列上执行所需操作的函数。
例如,将“col1”列中的所有“Y”替换为“Z”
df["col1"] = df["col1"].apply(lambda x: x.replace("Y", "Z"))