我有一对df:
raw_data = {0: [5,4,6,8,9],
1: [4,8,1,2,5],
2: [42, 52, 36, 24, 73],
3: [0, 0, 0, 2, 1],
4: [2, 2, 0, 2, 0]}
df = pd.DataFrame(raw_data, columns = [0,1,2,3,4])
我想把它对的值设为0,例如在第3行第0列有一个0,所以它对在第3列第0行,在这个例子中是值8。你知道吗
我可以通过迭代:
for i in df.index:
for j in df.columns:
if df.loc[i,j] == 0:
df.loc[i,j] = df.loc[j,i]
但是很慢。我可以应用一个函数或df方法来快速完成吗?你知道吗
谢谢!你知道吗
用nan和
pd.DataFrame.fillna
调用replace 0s,使用df
的转置。你知道吗你可以用布尔值来赋值
使用
where/mask
我们将第一个参数为True
的地方置空,并用第二个参数中的替代项填充它。你知道吗或者
根据@cᴏʟᴅsᴘᴇᴇᴅ的建议,Numpy等价物
相关问题 更多 >
编程相关推荐