Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.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,所以我有一个熊猫数据帧df_测试集,看起来像这个示例: Index Ycurrent. date. bucket_id. . 245 June 17, 2017. 45 . 235 June 17, 2017. 46 . 265 June 18, 2017. 47 . 235 June 18, 2017. 48 . 225 June 19, 2017. 49 . 205

所以我有一个熊猫数据帧df_测试集,看起来像这个示例:

Index Ycurrent.   date.   bucket_id.   
 .     245    June 17, 2017.   45
 .     235    June 17, 2017.   46
 .     265    June 18, 2017.   47
 .     235    June 18, 2017.   48
 .     225    June 19, 2017.   49
 .     205    June 20, 2017.   50
 .     215    June 21, 2017.   51
 .     212    June 22, 2017.   52
 .     225    June 23, 2017.   53
 .     257    June 24, 2017.   54
 .     236    June 25, 2017.   55
 .     248    June 26, 2017.   56
 .     245    June 27, 2017.   57
 .     245    June 27, 2017.   58
我从另一个数据框中列出了8个随机日期,如下所示:

0.   June 01, 2017
1.   June 23, 2017
2.   June 13, 2017
3.   June 27, 2017
4.   June 17, 2017
5.   June 04, 2017
6.   June 09, 2017
7.   June 11, 2017
8.   June 15, 2017
根据上面的数据,我如何在date_列表中为每个日期选择特定日期的所有记录?看起来每个日期大约有144行

通过这些数据,我试图得到x,y,其中x是bucket_id中的值,从1到144,y是字段Ycurrent中的值。坐标然后与matplotlib一起用于绘制线图

当我尝试使用matplotlib绘图时,我的图形不会显示。我试着在同一张图上画出所有的线,因为所有日期的x轴都是一样的,但我一直在做

raise ValueError('Must pass DataFrame with boolean values only')

ValueError: Must pass DataFrame with boolean values only

IIUC,您可以使用isin过滤原始数据帧:

其中,date_list[1]应该是与第二个数据帧/日期列表的日期相关的列

如果需要第一个索引,只需再选择它:

df_testing_set = df_testing_set[df_testing_set['date'].isin(date_list[1])]['Index']

希望有帮助。

请不要使用图片,因为我们无法复制。请避免放置数据的图像。我们无法重现您的问题并帮助您。对不起,我该怎么办?只需放入一个数据样本,我们就可以复制和粘贴以重现您的问题。@FabioLamanna编辑并重新提交。我会记下以后一直这样做的!当我尝试这样做时,会得到一个大数据框,其中包含列表中所有数据的记录。如何指定它只为第一个索引提供内容?当我尝试时,它不断出错,并指出isin正在寻找一个类似objectI的列表,我确实想要第一个索引,但当我运行编辑时,我得到KeyError:“index”是您要提取的列的名称吗?如果它是纯熊猫索引,请尝试使用.index而不是['index']。尝试了之后,实际上没有任何变化。是否没有办法指定我希望将df中日期为2017年6月27日的所有数据放入新的df中?这就是我当时的回答。但是你想过滤主df中的所有日期,它们也在你的日期列表中,对吗?
df_testing_set = df_testing_set[df_testing_set['date'].isin(date_list[1])]['Index']