Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 多次选择熊猫中的相同行_Python_Pandas_Dataframe - Fatal编程技术网

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