对pandas DataFram应用log2转换

2024-09-28 17:19:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将带有applymapnp2.log2的log2应用于数据,并使用boxplot显示它,下面是我编写的代码:

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

data = pd.read_csv('testdata.csv')
df = pd.DataFrame(data)

################################
    # a.
df.boxplot()
plt.title('Raw Data')

################################
    # b.
df.applymap(np.log2)
df.boxplot()
plt.title('Normalized Data')

下面是我得到的原始数据的箱线图,没问题,但我在应用log2转换后得到了相同的箱线图!!!有谁能告诉我我做错了什么,应该纠正什么才能用applymap和np.log2 enter image description here


Tags: csvimportdfdatatitleasnpplt
2条回答

一种更快的方法是:

df = np.log2(df)

别忘了将结果分配回df。在

根据API ReferenceDataFrame.applymap(func)

Apply a function to a DataFrame that is intended to operate elementwise, i.e. like doing map(func, series) for each series in the DataFrame

它不会改变您获取返回值并使用它所需的DataFrame。在

相关问题 更多 >