Pandas(2天)非常新,并在我的奥斯卡颁奖典礼数据集上运行以下groupby命令。
df[(df.Award == 'Best Actress') & (df.Winner == 1.0)].groupby('Name')
我收到了以下输出,通常在可视化之前,但不是这次。
<pandas.core.groupby.DataFrameGroupBy object at 0x1166b8cc0>
我期待着所有女演员的名单,这些女演员曾为#34;最佳(领先)女演员赢得奥斯卡奖&#34;按其各自的名称分组。
为什么没有图表?
编辑:
数据看起来像这样。 。 。
Year Ceremony Award Winner Name Film
0 1928 1 Actor 0.0 Richard Barthelmess The Noose
1 1928 1 Actor 1.0 Emil Jannings The Last Command
2 1928 1 Actress 0.0 Louise Dresser A Ship Comes In
3 1928 1 Actress 1.0 Janet Gaynor 7th Heaven
4 1928 1 Actress 0.0 Gloria Swanson Sadie Thompson
5 1928 1 Art Dir 0.0 Rochus Gliese Sunrise
答案 0 :(得分:3)
我收到了以下输出,通常在可视化之前,但不是这次。
<pandas.core.groupby.DataFrameGroupBy object at 0x1166b8cc0>
与可视化之前的相同
是 pandas
DataFrameGroupBy
对象的文字表示。
在Python中,一切都是对象。但是,并非每个对象都有直观的方式将自己呈现给屏幕。存在一种名为__repr__
的方法,用于控制该对象的文本表示。在这种情况下,df.groupby('col_name')
会返回DataFrameGroupBy
个对象。该对象的__repr__
方法返回您看到的字符串<pandas.core.groupby.DataFrameGroupBy object at 0x1166b8cc0>
。对于该方法来说,用<>
包装生成对象的类的泛型描述是相当典型的。
<>
看起来很熟悉。 matplotlib
为轴输出__repr__
:df.plot()
生成<matplotlib.axes._subplots.AxesSubplot at 0x11a2b9cf8>
。事实上,您可以使用分号df.plot();
所有人都说,我仍然不确定你对图表的期望是什么
df.query('Award == "Actress"').set_index('Name').Winner.plot.bar()
答案 1 :(得分:2)
我认为您需要groupby
并汇总某些功能,例如size
,如果需要计算已过滤的列static final String DATABASE_TABLE = "users";
以及绘图函数plot
或plot.bar
:< / p>
Name
或使用value_counts
:
df[(df.Award == 'Best Actress') & (df.Winner == 1.0)].groupby('Name').size().plot()
df[(df.Award == 'Best Actress') & (df.Winner == 1.0)].groupby('Name').size().plot.bar()
编辑:
我认为非常好的教程是10 Minutes to pandas。