gpt4 book ai didi

python - 将 DataFrame 与 pandas 合并

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

我有多个包含日期和测量值的文件。他们的设置是相同的:

YYYY  MM  DD  val1
YYYY MM DD val2
YYYY MM DD val3

我使用以下命令将每个文件读入DataFrame

for cur_file in file_list:
cur_df = pa.io.parsers.read_table(os.path.join(data_path, result)
, header=None
, sep='\s*'
, parse_dates=[[0,1, 2]]
, names=['day','month', 'hour', cur_file[:-4]]
, index_col=[0]
)

所有文件中的日期并不相同。有时会有一些重叠,但并非总是如此。

我可以通过

单独绘制每个 cur_df
cur_df.plot()

在循环中。

将所有 cur_df 放在一个“大”DataFrame 中似乎是个好主意。既可以用于绘图,也可以用于稍后的统计。考虑到它们的日期不同,理想情况下该怎么做?有没有一种方法可以“合并”仅在一个底层 DataFrame 中出现的多个 DataFrame 日期?

我想我正在寻找一个如下所示的数据框:

YYYY MM DD  val1(from1)  NaN
YYYY MM DD val2(from1) val2(from2)
YYYY MM DD NaN val3(from2)

第一行中的日期戳是从 val1 的日期开始的,第二行中 val1 和 val2 的日期是相同的,第三行中的日期是基于 val2 的日期

我调查了 cur_df.add(cur_df2)附加两个 DataFrame。我不知道什么 cur_df.combine(cur_df2, ...)会做,特别是因为我不确定应该使用哪个函数作为第二个参数。

感谢您的帮助,干杯,克劳斯

最佳答案

从您的代码片段来看,解析的日期值应该是索引,并且每个 DataFrame 将在不同的列名称中具有值,对吧?在这种情况下,我认为迭代调用 DataFrame.combine_first 应该可以解决问题。

此外,您是否也传递了“keep_date_col=True”?默认情况下,解析器在将多个日期组件解析为一个时应该丢弃组件日期列(如果不是,那么这是一个错误,所以请让我知道)。

最好,

关于python - 将 DataFrame 与 pandas 合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11398688/

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