我使用qcut将数据与范围进行合并。但是我想以熊猫直方图显示输出范围数据。那么,我该怎么做呢?ps:数据是从csv文件中收集的链接:csv文件链接在这里
我写了以下代码-
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.metrics import r2_score
dataset = pd.read_csv("datasets.csv")
print(dataset)
qc = pd.qcut(dataset['Active'], q=8, precision=0)
qc_val = qc.value_counts().sort_index()
print(qc_val)
装箱范围输出为-
(-1.0, 63.0] 5
(63.0, 212.0] 5
(212.0, 827.0] 4
(827.0, 1465.0] 8
(1465.0, 1959.0] 2
(1959.0, 4545.0] 4
(4545.0, 8594.0] 5
(8594.0, 221447.0] 5
Name: Active, dtype: int64
因此,有什么方法可以显示上述装箱范围数据中的直方图?
您可以直接bins
在系列的直方图函数中使用参数,例如
import pandas as pd
url = 'https://drive.google.com/file/d/1lYZqeYH_AtUAUG5947Bd51JXJBrOP5Lp/view?usp=sharing'
path = 'https://drive.google.com/uc?export=download&id='+url.split('/')[-2]
df = pd.read_csv(path)
df['Active'].hist(bins=8)
或带有的标签,qcut
您可以像这样使用它
levels = [f'Level_{i}' for i in range(8)]
df['Active_bins'] = pd.qcut(df['Active'], q=8, precision=0, labels=levels)
df.head()
# from https://stackoverflow.com/a/58288640/7752347
import matplotlib.pyplot as plt
fig,ax = plt.subplots()
hatches = ('\\', '//', '..', '**', "!", '$', '^','#') # fill pattern
for (i, d),hatch in zip(df.groupby('Active_bins'), hatches):
d['Active'].hist(alpha=0.7, ax=ax, label=i, hatch=hatch)
ax.legend()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句