【发布时间】:2022-10-13 20:44:06
【问题描述】:
我有一个带有一系列虚拟列的数据框。我正在尝试使用索引值将“1”转换为从每个“1”到前一个“1”的距离。这也意味着我必须跳过第一个“1”,因为它没有距离,因为缺少前面的“1”。我在所需的输出中将其标记为“A”。
我之前问过一个类似的问题,我需要到特定列中的值的距离,但我没能适应这个问题: Distance between values in dataframe
如何实现 dfTarget 的输出?
先感谢您。
df = pd.DataFrame({'index': [240, 251, 282, 301, 321, 325, 328, 408], 'e1': ['0','1','0','0','0','0','1','0'], 'e2': ['1','0','1','0','0','1','0','0']})
df.set_index('index', inplace=True)
dfTarget = pd.DataFrame({'index': [240, 251, 282, 301, 321, 325, 328, 408], 'e1': ['0','A','0','0','0','0','77','0'], 'e2': ['A','0','42','0','0','43','0','0']})
dfTarget.set_index('index', inplace=True)
print(df)
print("------")
print(dfTarget)
e1 e2
index
240 0 1
251 1 0
282 0 1
301 0 0
321 0 0
325 0 1
328 1 0
408 0 0
------
e1 e2
index
240 0 A
251 A 0
282 0 42
301 0 0
321 0 0
325 0 43
328 77 0
408 0 0
【问题讨论】: