gpt4 book ai didi

python - 将新列添加到 pandas DataFrame 时的 NaN 值

转载 作者:太空狗 更新时间:2023-10-29 17:15:17 25 4
gpt4 key购买 nike

我正在尝试在 pandas DataFrame 中生成一个新列,该列等于另一个 pandas DataFrame 中的值。当我尝试创建新列时,我只得到新列值的 NaN。

首先,我使用 API 调用来获取一些数据,“mydata”DataFrame 是按日期索引的一列数据

mydata = Quandl.get(["YAHOO/INDEX_MXX.4"],
trim_start="2001-04-01", trim_end="2014-03-31",
collapse="monthly")

我使用以下代码从 CSV 中获取的下一个 DataFrame,它包含许多行数与“mydata”相同的数据列

DWDATA = pandas.DataFrame.from_csv("filename",
header=0,
sep=',',
index_col=0,
parse_dates=True,
infer_datetime_format=True)

然后我尝试像这样生成新列:

DWDATA['MXX'] = mydata.iloc[:,0]

同样,我只得到 NaN 值。有人可以帮助我理解为什么这样做以及如何解决吗?从我读过的内容看来,我的索引可能有问题。索引是每个 DataFrame 中的日期,但“mydata”具有月底日期,而“DWDATA”具有月初日期。

最佳答案

因为索引不完全相等,所以会导致 NaN。必须更改其中一个或两个索引以匹配。示例:

mydata = mydata.set_index(DWDATA.index)

以上将更改“mydata”DataFrame 的索引以匹配“DWDATA”DataFrame 的索引。

由于两个 DataFrame 的行数完全相等,您也可以将“mydata”的值传递给新的“DWDATA”列:

DWDATA['MXX'] = mydata.iloc[:,0].values

关于python - 将新列添加到 pandas DataFrame 时的 NaN 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26221300/

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