依赖于其他列值的多个新列



我有一个看起来像这样的数据帧:

Node Node1 Length Spaces Dist T 1 2 600 30 300 100 1 3 400 20 200 100 2 1 600 30 300 100 2 6 500 25 250 400 3 1 400 20 200 100 3 4 400 20 200 200 3 12 400 20 200 200 4 3 400 20 200 200 4 5 200 10 100 500 4 11 600 30 300 1400 5 4 200 10 100 500 5 6 400 20 200 200 5 9 500 25 250 800 6 2 500 25 250 400 6 5 400 20 200 200 6 8 200 10 100 800

这告诉我们,例如,在第一行中,节点1和2之间有30个空格。我怎么能创建30个值为1的新列来分别表示每个空间呢。然后对每一行执行相同操作。

下面的代码应该可以工作(col‘A’是您的‘NoSpaces’):

import numpy as np
import pandas as pd    
df = pd.DataFrame(np.random.randint(0,10,size=(100, 4)), columns=list('ABCD'))
max_val = df['A'].max()
for itr in range(max_val):
    colname = 'A%d' % itr
    df[colname] = (df['A'] >=itr).astype('int')

最新更新