基本Python:如何规范化数据系列?

时间:2017-11-14 15:11:11

标签: python pandas

我有一个数据框,其中有5列按日期索引。我想通过列表中的第一项来规范化这些数据系列。

                A   B   C   D   E
    1/1/2017    3   4   1   2   3
    1/2/2017    7   4   4   3   3
    1/3/2017    2   5   5   4   3
    1/4/2017    2   5   3   6   3
    1/5/2017    2   2   2   6   6

例如,在A栏中,我想将所有内容除以3,即列表中的第一项。 B列到E列相同。

感谢您的帮助!

2 个答案:

答案 0 :(得分:5)

In [100]: df.div(df.iloc[0])
Out[100]:
                 A     B    C    D    E
1/1/2017  1.000000  1.00  1.0  1.0  1.0
1/2/2017  2.333333  1.00  4.0  1.5  1.0
1/3/2017  0.666667  1.25  5.0  2.0  1.0
1/4/2017  0.666667  1.25  3.0  3.0  1.0
1/5/2017  0.666667  0.50  2.0  3.0  2.0

In [101]: df / df.iloc[0]
Out[101]:
                 A     B    C    D    E
1/1/2017  1.000000  1.00  1.0  1.0  1.0
1/2/2017  2.333333  1.00  4.0  1.5  1.0
1/3/2017  0.666667  1.25  5.0  2.0  1.0
1/4/2017  0.666667  1.25  3.0  3.0  1.0
1/5/2017  0.666667  0.50  2.0  3.0  2.0

答案 1 :(得分:1)

使用div

df.div(df.iloc[0,:],1)
Out[496]: 
                 A     B    C    D    E
1/1/2017  1.000000  1.00  1.0  1.0  1.0
1/2/2017  2.333333  1.00  4.0  1.5  1.0
1/3/2017  0.666667  1.25  5.0  2.0  1.0
1/4/2017  0.666667  1.25  3.0  3.0  1.0
1/5/2017  0.666667  0.50  2.0  3.0  2.0