转换数据框架 - Python

时间:2015-12-14 19:20:44

标签: python

我的数据在数据框中。它看起来像这样。

enter image description here

我正在尝试将数据框转换为以下格式:

enter image description here

目前我正在使用以下Python代码进行此转换,这些代码很繁琐。

def f(row):
    if row['d1'] == 1:
        return 1
    if row['d1'] == 2:
        return ''
    if row['d1'] == 3:
        return ''
    if row['d1'] == 4:
        return ''
    else:
        return ''
    return np.nan

df['t1']=df.apply(f, axis=1)

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

您可以应用以下功能:

def func(x):
    x.iloc[x.iloc[0]] = 1
    return x

In [66]: df
Out[66]: 
   d1  t1  t2  t3  t4  t5
0   5   0   0   0   0   0
1   1   0   0   0   0   0
2   3   0   0   0   0   0
3   4   0   0   0   0   0
4   1   0   0   0   0   0
5   2   0   0   0   0   0

In [67]: df.apply(func, axis=1)
Out[67]: 
   d1  t1  t2  t3  t4  t5
0   5   0   0   0   0   1
1   1   1   0   0   0   0
2   3   0   0   1   0   0
3   4   0   0   0   1   0
4   1   1   0   0   0   0
5   2   0   1   0   0   0