Python日期抽取——df_dt.dt.weekday与df_dt.weekday()的区别

df_dt.dt.weekday和df_dt.weekday()的区别

df_dt.dt.weekday和df_dt.weekday的作用都是一样抽取日期信息。

区别在于处理数据类型不同

df_dt.weekday处理list类型

import pandas as pd
from pandas import to_datetime
#li=["2020/04/22 22:11:20","2020/04/26 22:11:20"]
li="2020/04/26 22:11:20"
df_dt = to_datetime(li, format="%Y/%m/%d %H:%M:%S")
print(df_dt)
y=df_dt.year
s=df_dt.second
m=df_dt.minute
h=df_dt.hour
d=df_dt.day
M=df_dt.month
w=df_dt.weekday()  #0-6
print("年:",y)
print("月:",M)
print("日:",d)
print("时:",h)
print("分:",m)
print("秒:",s)
print("周几:",w+1)

结果:

df_dt.dt.weekday,处理Series类型

import pandas as pd
from pandas import to_datetime
li=["2
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据您提供的代码,问题可能出在以下这行代码: ``` observation = mgr.weather_at_place('Shanghai') ``` 在这里,`observation`对象是通过`mgr.weather_at_place()`方法获取的,但是您并没有指定获取的是哪个时间段的天气数据。因此,`observation`对象只包含当前的天气数据,而没有日期信息。在下一行代码中,您又试图从`observation.weather.location`中获取经纬度信息,因此会出现`'Weather' object has no attribute 'location'`的错误。 要解决这个问题,您可以考虑修改`weather_at_place()`方法的参数,指定获取某个时间点的天气数据。例如,您可以使用`mgr.weather_at_place('Shanghai, CN', time=date_obj.timestamp())`获取上个月的天气数据,其中`'Shanghai, CN'`是城市名称和国家代码的组合,`date_obj.timestamp()`是上个月第一天的时间戳。 修改后的代码如下: ``` import pyowm import datetime # 获取当前时间 now = datetime.datetime.now() # 获取上个月的时间 last_month = now.replace(month=now.month-1) # 初始化OpenWeatherMap对象 owm = pyowm.OWM('your-api-key') # 把'your-api-key'替换成你的API Key # 获取上个月的天气情况 mgr = owm.weather_manager() observation = mgr.weather_at_place('Shanghai, CN', time=date_obj.timestamp()) # 修改这里的参数 condition = observation.weather.status print('上个月的天气情况是:', condition) ``` 请注意,这只是一个示例代码,可能还需要根据您的实际需求进行修改和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值