2024-04-25 11:38:12 发布
网友
我有以下数据帧:
YEARMODA TEMP MAX MIN 0 19730701 74.5 90.0 53.6 1 19730702 74.5 88.9 57.9 2 19730703 81.7 95.0 63.0 3 19730704 85.0 95.0 65.8 4 19730705 85.0 97.9 63.9
我怎样才能让约会像时间一样。我想得到一年一个月的平均温度和标准偏差。我知道如何使用组,它只是和YEARMODA一起工作,这就是问题所在
这里有两种方法来解决这个问题,你选吧
df['YEARMODA'] = pd.to_datetime(df['YEARMODA'], format='%Y%m%d') YEARMODA TEMP MAX MIN 0 1973-07-01 74.5 90.0 53.6 1 1973-07-02 74.5 88.9 57.9 2 1973-07-03 81.7 95.0 63.0 3 1973-07-04 85.0 95.0 65.8 4 1973-07-05 85.0 97.9 63.9 from functools import partial p = partial(pd.to_datetime, format='%Y%m%d') df['YEARMODA'] = df['YEARMODA'].apply(p) YEARMODA TEMP MAX MIN 0 1973-07-01 74.5 90.0 53.6 1 1973-07-02 74.5 88.9 57.9 2 1973-07-03 81.7 95.0 63.0 3 1973-07-04 85.0 95.0 65.8 4 1973-07-05 85.0 97.9 63.9
编辑:您遇到的问题是没有为format表达式提供正确的pd.to_datetime,因此它失败了。你知道吗
format
pd.to_datetime
编辑2:根据你想怎么做,按月份得到std,你可以这样做。你知道吗
std
df.groupby(df.YEARMODA.apply(p).dt.strftime('%B')).TEMP.std() YEARMODA July 5.321936 Name: TEMP, dtype: float64 df.assign(temp=pd.to_datetime(df['YEARMODA'], format='%Y%m%d') \ .dt \ .strftime('%B')) \ .groupby('temp') \ .TEMP \ .std() temp July 5.321936 Name: TEMP, dtype: float64
这里有两种方法来解决这个问题,你选吧
编辑:您遇到的问题是没有为
format
表达式提供正确的pd.to_datetime
,因此它失败了。你知道吗编辑2:根据你想怎么做,按月份得到
std
,你可以这样做。你知道吗相关问题 更多 >
编程相关推荐