gpt4 book ai didi

python - pd.series 更改列的值

转载 作者:太空宇宙 更新时间:2023-11-03 15:37:10 27 4
gpt4 key购买 nike

我正在尝试从包含以下内容的 csv 创建日历热图雨量值 (VM) 和日期 (ISTANTE)。

IDSTAZ,SENSORE,ISTANTE,VM
56,300001896,201601010000,0.0
56,300001896,201601020000,0.2
56,300001896,201601030000,0.6
56,300001896,201601040000,1.8

在网上搜索我写了下面的代码:

import pandas as pd
import calmap
import matplotlib.pyplot as plt

df = pd.read_csv('D:\\GIS\\Dati\\Meteo_arpav\\stazione_forno.csv')
df['DateTime'] = df['ISTANTE'].apply(lambda x: pd.to_datetime(str(x), format='%Y%m%d%H%M'))
events = pd.Series((df['VM']), index=df['DateTime'])
a=calmap.calendarplot(events)
plt.show(a)

它有效,但是当我创建系列时,VM 的所有值都变成了NaN。打印(事件)这是结果:

DateTime
2016-01-01 NaN
2016-01-02 NaN
2016-01-03 NaN
2016-01-04 NaN
2016-01-05 NaN
2016-01-06 NaN
2016-01-07 NaN
2016-01-08 NaN
2016-01-09 NaN

这样日历热图就会显示为空。有什么想法吗?

最佳答案

看来你需要 set_index用于创建系列:

df['DateTime'] = pd.to_datetime(df['ISTANTE'], format='%Y%m%d%H%M')
events = df.set_index('DateTime')['VM']
print (events)
DateTime
2016-01-01 0.0
2016-01-02 0.2
2016-01-03 0.6
2016-01-04 1.8
Name: VM, dtype: float64

不起作用的原因:

events = pd.Series((df['VM']), index=df['DateTime'])

是数据对齐。 VM 列的索引 (Series) 希望按 DatetimeIndex 对齐,但值不匹配,因此结果为 NaN s。

关于python - pd.series 更改列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42442316/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com