Python 地图功能在熊猫中的应用

Python 地图功能在熊猫中的应用,python,pandas,matplotlib,Python,Pandas,Matplotlib,我正试图为我的城市复制。 我正在复制并粘贴函数,以计算每日日照时数,并将每周和每天的累计计数添加到分组数据集中,然后进行绘图 问题是,我相信这里使用的map函数行为异常,或者在pandas版本中发生了一些变化。例如,如果我给出weekly.head,程序将在hours\u of\u daylight列中返回此输出,而我需要一个数字 Total East West daylight Date 2012-10

我正试图为我的城市复制。 我正在复制并粘贴函数,以计算每日日照时数,并将每周和每天的累计计数添加到分组数据集中,然后进行绘图

问题是,我相信这里使用的map函数行为异常,或者在pandas版本中发生了一些变化。例如,如果我给出weekly.head,程序将在hours\u of\u daylight列中返回此输出,而我需要一个数字

            Total       East     West         daylight
Date                
2012-10-07  14292.0     7297.0   6995.0       <map object at 0x7f21afcc1ca0>
2012-10-14  16795.0     8679.0   8116.0       <map object at 0x7f21afcc1ca0>
2012-10-21  15509.0     7946.0   7563.0       <map object at 0x7f21afcc1ca0>
2012-10-28  13437.0     6901.0   6536.0       <map object at 0x7f21afcc1ca0>
2012-11-04  12194.0     6408.0   5786.0       <map object at 0x7f21afcc1ca0>
而且,对于情节来说

weekly['daylight'].plot()
plt.ylabel('hours of daylight (Seattle)');
您能否帮助我了解这些代码行的错误,并获得结果和图表的有效数字?

使用:

使用:


您可以通过在括号中提供特定的详细信息来尝试.filter函数,也可以使用index.map来获取结构化的DF。
我个人建议使用.filter

您可以通过在括号中提供特定细节来尝试.filter函数,也可以使用index.map来获取结构化DF。
我个人建议使用.filter

map在Python-3.x中是惰性的,因此除非强制执行,否则不计算map对象。map在Python-3.x中是惰性的,所以除非强制执行,否则不计算map对象。好的,这个方法有效;你能告诉我你的代码和我的代码有什么不同吗?是因为一些不推荐的pandas语法吗?@Ale-No,因为您的解决方案中使用的map是纯python函数,而pandas中使用的是index.map函数。不一样。@Ale-也用于处理系列或列。好的,这一个有效;你能告诉我你的代码和我的代码有什么不同吗?是因为一些不推荐的pandas语法吗?@Ale-No,因为您的解决方案中使用的map是纯python函数,而pandas中使用的是index.map函数。它不同。@Ale-也用于处理系列或列。
weekly['daylight'].plot()
plt.ylabel('hours of daylight (Seattle)');
weekly['daylight'] = weekly.index.map(hours_of_daylight)
print (weekly)
              Total    East    West   daylight
Date                                          
2012-10-07  14292.0  7297.0  6995.0  11.045208
2012-10-14  16795.0  8679.0  8116.0  10.644852
2012-10-21  15509.0  7946.0  7563.0  10.255305
2012-10-28  13437.0  6901.0  6536.0   9.881095
2012-11-04  12194.0  6408.0  5786.0   9.527645
daily['daylight'] = daily.index.map(hours_of_daylight)