首页 > 解决方案 > 对数据框中的列执行 log2 规范化

问题描述

有没有办法使用 np.log2() 函数来迭代数据框的列,同时保留列名?

df = pd.DataFrame(np.random.randint(0,100,size=(100, 10)), columns=list('ABCDEFGHIJ'))
print(df)

     A   B   C   D   E   F   G   H   I   J
0   62  77  38  89  20  38  20  86  13  72
1   40  11   8  39   5  15  30  90  54  87
2   43  28  93  96   1  76  48  98  98  64
3   67  25  55  31  76  43  86  45  81  43
4   85  72  10  38  27  55   7  35   6   2
..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..
95  71  27  22  21  65  64  66  21  30  11
96   3  81  69  37  40  74  49   0   2  73
97  43  49  47  73  44  24  47  99  72   9
98  62  89   3  85  50  63  80  18  39  13
99  73  37  45  81  52  72  10   7  28  66

[100 rows x 10 columns]

我想规范化这些列以便稍后对它们执行功能以进行数据分析,而无需手动执行此操作,例如:

a = df['A'] 
alog = np.log2(a + 0.001)

我可以在不手写十次的情况下进行这种标准化吗?

标签: pythonpandasdataframenumpy

解决方案


for i in list('ABCDEFGHIJ'):
    df[i] = np.log2(df[i]+0.001) 

东风:

在此处输入图像描述


推荐阅读