Python 多次选择熊猫中的相同行
我有一个列的值列表,我想从数据框中选择。这个列表有重复的值,我想按照列表和重复列表中相同的顺序选择相应的行。例如,假设我有一个数据帧:Python 多次选择熊猫中的相同行,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个列的值列表,我想从数据框中选择。这个列表有重复的值,我想按照列表和重复列表中相同的顺序选择相应的行。例如,假设我有一个数据帧: id value date 1 0.5 01-01-20 2 0.3 01-02-20 3 0.4 01-03-20 4 0.8 01-04-20 以下是: dates=(01-01-20, 01-01-20, 01-02-20) 我希望过滤后的数据帧如下
id value date
1 0.5 01-01-20
2 0.3 01-02-20
3 0.4 01-03-20
4 0.8 01-04-20
以下是:
dates=(01-01-20, 01-01-20, 01-02-20)
我希望过滤后的数据帧如下所示:
id value date
1 0.5 01-01-20
1 0.5 01-01-20
2 0.3 01-02-20
我试图使用函数.isin()
,但它没有考虑重复项。我想这可以在for循环中完成,但有没有“优雅”的方法呢?使用最好的方法,因为在不匹配的情况下也可以工作(但必须是列的唯一值):
dates=('01-01-20', '01-01-20', '01-02-20')
df = df.set_index('date').reindex(dates).reset_index().reindex(df.columns, axis=1)
print (df)
id value date
0 1 0.5 01-01-20
1 1 0.5 01-01-20
2 2 0.3 01-02-20