為什么 Pandas 和 NumPy 對于中位數等一些基本函式的評估方式不同?
Pandas 會自動省略 NaN 值,而 NumPy 不會。
import numpy as np
import pandas as pd
np.random.seed(10)
df = pd.DataFrame(np.random.randint(0, 10, size=10), columns=['x'])
df.loc[df.x > 1, 'x'] = np.NaN
print(df)
# x
#0 NaN
#1 NaN
#2 0.0
#3 1.0
#4 NaN
#5 0.0
#6 1.0
#7 NaN
#8 NaN
#9 0.0
print(df['x'].median())
#0.0
print(np.median(df['x']))
#nan
uj5u.com熱心網友回復:
它們是 2 個不同的庫。他們使用不同的約定/默認值。
如果你想忽略 NaN:
np.nanmedian(df['x'])
df['x'].median()
如果你想要一個 NaN 結果:
np.median(df['x'])
df['x'].median(skipna=False)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/454545.html
上一篇:列印資料框中的每一行
下一篇:pandas中的高級資料框重塑
