Python 带熊猫图的子图
我需要生成一行和两列的子图,以显示一个方框图和一个数据帧中的数据直方图。 我试过这个:Python 带熊猫图的子图,python,pandas,matplotlib,Python,Pandas,Matplotlib,我需要生成一行和两列的子图,以显示一个方框图和一个数据帧中的数据直方图。 我试过这个: plt.subplot(1,2,1) df.boxplot(column=variable) plt.subplot(1,2,2) df.hist(column=variable) 但我明白了: 我怎样才能得到我需要的 df是一个数据帧,变量包含感兴趣的列的名称 试试这个: fig, axes = plt.subplots(nrows=1, ncols=2) axes[0].boxplot(df[vari
plt.subplot(1,2,1)
df.boxplot(column=variable)
plt.subplot(1,2,2)
df.hist(column=variable)
但我明白了:
我怎样才能得到我需要的
df是一个数据帧,变量包含感兴趣的列的名称
试试这个:
fig, axes = plt.subplots(nrows=1, ncols=2)
axes[0].boxplot(df[variable])
axes[1].hist(df[variable])
使用:
范例
数据:
按规定生成图形:
输出:
请理解,您必须输入有效的列名。要查看列的名称,请执行以下操作:
就我而言:
输出:
您好,谢谢您的回答。我这样做了,但不起作用,因为pyplot中的boxplot函数无法识别名为“column”的参数,这是因为我想直接从pandas dataframe boxplot函数进行打印。是否可以按照我描述的那样做,或者一定要将数据帧中的数据提取为numpy数组,然后使用pyplot中的绘图功能?您可能输入的列名称不正确,我可以很好地使用它,使用:df.columns.values.tolist可正确显示列的名称我尝试了您最后推荐的方法,但也不起作用。显然,问题在于数据帧中是否存在no_data_值,以指示缺少的数据。我刚刚将dataframe转换为numpy数组,我只取了没有缺少值的位置,它已经工作了,但是使用pyplot的boxplot和hist函数,而不是直接使用panda dataframes实用程序。然后这是一个dataframe问题。。。我很高兴它最终成功了
fig, axes = plt.subplots(nrows=1, ncols=2,figsize=(10,10))
axes[0].boxplot(df3[column])
axes[1].hist(df3[column])
import pandas as pd
import matplotlib.pyplot as plt
df3 = pd.read_csv('df3')
%matplotlib inline
df3.head()
a b c d
0 0.336272 0.325011 0.001020 0.401402
1 0.980265 0.831835 0.772288 0.076485
2 0.480387 0.686839 0.000575 0.746758
3 0.502106 0.305142 0.768608 0.654685
4 0.856602 0.171448 0.157971 0.321231
fig, axes = plt.subplots(nrows=1, ncols=2,figsize=(10,10))
axes[0].boxplot(df3['a'])
axes[1].hist(df3['b'])
df.columns.values.tolist()
df3.columns.values.tolist()
['a', 'b', 'c', 'd']