我想遍历一个数据框,检查行名是否与列名匹配。如果它们匹配,我想将交点的值设置为零。我已经尝试了几种选择,但都没有用。这是伪代码,显示了我想做什么:
for row in dataframe:
if row_name == column_name:
dataframe[rowname][columnname] = 0
数据如下所示:
NAME1 NAME2 NAME3
NAME1 1 .9 .2
NAME2 .6 1 .7
NAME3 .5 .8 1
最佳答案
您可以计算索引和列的交集。然后迭代相交并使用pd.DataFrame.loc
设置值。
intersection = df.index & df.columns
for item in intersection:
df.loc[item, item] = 0
print(df)
NAME1 NAME2 NAME3
NAME1 0.0 0.9 0.2
NAME2 0.6 0.0 0.7
NAME3 0.5 0.8 0.0
关于python - 如何检查数据框行名是否与列名匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50873425/