jp8*_*p89 5 python matplotlib pandas
我有一个大型的熊猫数据框(696,20531),我想在直方图中绘制所有的值.使用df.plot(kind='hist')似乎是永远.有一个更好的方法吗?
用途DataFrame.stack():
import numpy as np
import pandas as pd
np.random.seed(0)
df = pd.DataFrame(np.random.randn(5, 10))
print(df.to_string())
0 1 2 3 4 5 6 7 8 9
0 -0.760559 0.317021 0.325524 -0.300139 0.800688 0.221835 -1.258592 0.333504 0.669925 1.413210
1 0.082853 0.041539 0.255321 -0.112667 -1.224011 -0.361301 -0.177064 0.880430 0.188540 -0.318600
2 -0.827121 0.261817 0.817216 -1.330318 -2.254830 0.447037 0.294458 0.672659 -1.242452 0.071862
3 1.173998 0.032700 -0.165357 0.572287 0.288606 0.261885 -0.699968 -2.864314 -0.616054 0.798000
4 2.134925 0.966877 -1.204055 0.547440 0.164349 0.704485 1.450768 -0.842088 0.195857 -0.448882
df.stack().hist()
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用DataFrame.sample() - 它从数据帧中提供大小为 size 的随机集(带有种子random_state) 。n因此,您可以绘制数据的样本(例如 1000 个点,具有可重复的随机性),例如
df.sample(n=1000,random_state=1).plot()
Run Code Online (Sandbox Code Playgroud)