如何对多个属性(列)进行对数转换 - Python

Kil*_*aro 2 python logging transformation normalization scikit-learn

我有一个包含两列的数据集,它们的比例完全不同。

我需要对两列进行日志转换,以便能够对它们进行一些可视化。

我找不到允许我对多个列进行日志转换的 python 代码。

有谁能够帮助我?

我有一个包含定性和定量列的数据集,我希望在 RealizedPL 和体积列上进行日志记录。

我的数据集看起来有点像这样:

     Date           Name       Country     Product     RealizedPL     Volume
0    2019.01.01     Charles    Country1    ProductA      100           10200
1    2019.02.20     Pierre     Country2    ProductB      150           20500
2    2019.03.02     Chiara     Country1    ProductA      200           15300
Run Code Online (Sandbox Code Playgroud)

如何进行日志转换并保留其他列?通过为日志创建新列或直接用日志替换列。

谢谢

Ser*_*nov 5

您不妨尝试:

df[["RealizedPL","Volume"]] = df[["RealizedPL","Volume"]].apply(np.log)
print(df)
         Date     Name   Country   Product  RealizedPL    Volume
0  2019.01.01  Charles  Country1  ProductA    4.605170  9.230143
1  2019.02.20   Pierre  Country2  ProductB    5.010635  9.928180
2  2019.03.02   Chiara  Country1  ProductA    5.298317  9.635608
Run Code Online (Sandbox Code Playgroud)

或者:

df[["RealizedPL_log", "Volume_log"]] = df[["RealizedPL","Volume"]].apply(np.log)
Run Code Online (Sandbox Code Playgroud)

将日志作为单独的列。

另请注意,如果这只是为了可视化目的,您不妨尝试一下df.plot.scatter(..., logx=True, logy=True)