【发布时间】:2018-09-25 00:23:30
【问题描述】:
我有一个成对的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])
我想将任何零设置为其对的值,例如在 col 0 第 3 行有一个 0,因此它的对将在 col 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 方法来快速做到这一点吗?
谢谢!
【问题讨论】:
标签: python pandas function apply