gpt4 book ai didi

python - Pandas:to_datetime 元组 header - 然后匹配最接近的

转载 作者:行者123 更新时间:2023-12-01 03:09:27 27 4
gpt4 key购买 nike

我有一个 CSV(类似于下面的),我试图根据两个输入来匹配一列,其中一个将是完全匹配,另一个将是“最接近”,简单到小于或等于。

数据帧代码:

import pandas as pd
from StringIO import StringIO

# pseudo CSV data
x = StringIO('''
main,A,A,A,B,B,B
date,1/1/2016,3/1/2016,5/1/2016,1/1/2016,3/1/2016,5/1/2016
one,11,22,33,44,55,66
two,77,88,99,111,222,333
''')

df = pd.read_csv(x, header = [0,1], tupleize_cols = True)

输入将类似于:

my_main = 'B'
my_date = pd.to_datetime('2/1/2016')

我希望返回是:

   (B, 1/1/2016)
0 44
1 111

这也可能是 MultiIndex 的工作 - 但我完全不熟悉该功能。

我认为第一步是转换元组 header 的第二部分 to_datetime() ,但我也不知道该怎么做。

...显然df[('B','1/1/2016')]可以,但问题是最接近的部分。

最佳答案

使用列表理解来查找正确的列。

date = pd.to_datetime('2/1/2016')
df[[c for c in df if c[0] == 'B' and pd.to_datetime(c[1]) <= date]]

(B, 1/1/2016)
0 44
1 111

关于python - Pandas:to_datetime 元组 header - 然后匹配最接近的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43010374/

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