gpt4 book ai didi

python - pandas.concat 仅使用一张表中的索引

转载 作者:行者123 更新时间:2023-12-02 02:24:45 24 4
gpt4 key购买 nike

我正在寻找一种更有效的方法来连接两个具有 DatetimeIndex 的数据帧。考虑到我只想要第一个的日期,以及第二个的所有数据:

from io import StringIO
import pandas as pd

a = StringIO('''
Time,No,Value
2017-10-17 04:00:00,1,10
2017-10-17 04:01:00,2,10
2017-10-17 04:02:00,3,10
2017-10-17 04:03:00,4,10
2017-10-17 04:04:00,5,10
''')

b = StringIO('''
Time,Str
2017-10-17 04:00:00,a
2017-10-17 04:02:00,b
''')

df1 = pd.read_csv(a).set_index('Time')
df2 = pd.read_csv(b).set_index('Time')

我目前所做的是包含一个无用的列,然后将其删除:

>>> df = pd.concat([df1.No, df2], axis=1)
>>> print(df)
No Str
Time
2017-10-17 04:00:00 1 a
2017-10-17 04:01:00 2 NaN
2017-10-17 04:02:00 3 b
2017-10-17 04:03:00 4 NaN
2017-10-17 04:04:00 5 NaN

>>> del df['No']
>>> print(df)
Str
Time
2017-10-17 04:00:00 a
2017-10-17 04:01:00 NaN
2017-10-17 04:02:00 b
2017-10-17 04:03:00 NaN
2017-10-17 04:04:00 NaN

预期的命令(这不起作用):

>>> pd.concat([df1.index, df2], axis=1)
Str
Time
2017-10-17 04:00:00 a
2017-10-17 04:01:00 NaN
2017-10-17 04:02:00 b
2017-10-17 04:03:00 NaN
2017-10-17 04:04:00 NaN

最佳答案

这就是您想要的更简单的形式:

df2.reindex(df1.index)

关于python - pandas.concat 仅使用一张表中的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65863436/

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