从Pandas中的行/列打印多个属性

2024-04-29 13:06:18 发布

您现在位置:Python中文网/ 问答频道 /正文

请参见我的数据:

df = pd.DataFrame({'house_number':['House 1']*6+['House 2']*6
                  ,'room_type':['Master Bedroom', 'Bedroom 1', 'Bedroom 2', 'Kitchen',
                               'Bathroom 1', 'Bathroom 2']*2
                  ,'square_feet':[250,180,150,200,25,30,300,170,175,210,30,20]})

   house_number       room_type  square_feet
0       House 1  Master Bedroom          250
1       House 1       Bedroom 1          180
2       House 1       Bedroom 2          150
3       House 1         Kitchen          200
4       House 1      Bathroom 1           25
5       House 1      Bathroom 2           30
6       House 2  Master Bedroom          300
7       House 2       Bedroom 1          170
8       House 2       Bedroom 2          175
9       House 2         Kitchen          210
10      House 2      Bathroom 1           30
11      House 2      Bathroom 2           20

Data Table

我对编程很陌生。我正在使用Jupyter笔记本和Pandas/matplotlib绘制一些数据。如果x轴是room_类型,y轴是平方英尺,我怎么能从这个表中制作一个条形图呢。我只想绘制1号房屋的数据。我在网上找不到任何东西,在那里我只能从与另一列中的特定值匹配的特定列中选择数据。这有意义吗

谢谢你能提供的任何帮助


Tags: 数据masternumberdftype绘制housepd
1条回答
网友
1楼 · 发布于 2024-04-29 13:06:18

IIUC,您可以先过滤数据帧,然后调用plot:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.DataFrame({'house_number':['House 1']*6+['House 2']*6
                  ,'room_type':['Master Bedroom', 'Bedroom 1', 'Bedroom 2', 'Kitchen',
                               'Bathroom 1', 'Bathroom 2']*2
                  ,'square_feet':[250,180,150,200,25,30,300,170,175,210,30,20]})

ax = df.query('house_number == "House 1"').plot.bar(x='room_type', y='square_feet')
ax.set_title('House 1')
ax.set_ylabel('square ft')

输出:

enter image description here

或者,您可以使用布尔索引筛选数据帧:

df[df['house_number'] == 'House 1'].plot.bar(x='room_type', y='square_feet')

相关问题 更多 >