使用Pandas/python根据多个条件选择数据

2024-09-30 16:39:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧,第一个数据帧有一个方向列,如下所示:

In [9]:wtg_data[1][['U_all', 'Dir_all']].head()
Out[9]: 
                        U_all   Dir_all
timestamp                             
2015-05-09 00:00:00  6.425383  192.7583
2015-05-09 00:10:00  6.736392  196.0836
2015-05-09 00:20:00  7.613443  203.2848
2015-05-09 00:30:00  7.539424  203.4758
2015-05-09 00:40:00  7.365549  205.2733

第二个部分有一组我需要排除的部分,这些部分由一个开始和结束角度定义,如下所示:

^{pr2}$

我想从第一个数据帧中选择(并保存在不同的数据框中)方向(Dir_all column)在第二个df中由对定义的任何扇区之间的数据。在

目前,我已经尝试了以下第一部分的方法

export = wtg_data[1][(wtg_data[1]['Dir_all'] > wake_exclusion_zone[1]['start_angle'][1]) & (wtg_data[1]['Dir_all'] < wake_exclusion_zone[1]['end_angle'][1])]

但是当我尝试循环第二个df并附加数据时,exportdf保持不变。在


Tags: 数据inzonedfdata定义dirall
1条回答
网友
1楼 · 发布于 2024-09-30 16:39:23

您可以尝试^{}第一个数据帧的所有行df1和第二个数据帧的所有行df2,然后过滤输出:

输出没有数据,所以我更改了df1的第一行和第二行。在

print df1
                          U_all   Dir_all
timestamp                                
2015-05-09 00:00:00  200.000000   92.7583
2015-05-09 00:00:00  200.000000   92.7583
2015-05-09 00:10:00    6.736392  196.0836
2015-05-09 00:20:00    7.613443  203.2848
2015-05-09 00:30:00    7.539424  203.4758
2015-05-09 00:40:00    7.365549  205.2733

print df2
     end_angle  start_angle
0          NaN          NaN
1    92.766080    37.683639
2     4.587928   296.557159
3    58.302667     6.732354
4   354.386611   305.505815
5    35.865741   324.134259
6   353.667108   313.202790
7    24.513812   335.486188
8   356.721479   321.058398
9    18.416798   341.583202
10  358.340554   325.613169
11   14.495289   342.304661
^{pr2}$

相关问题 更多 >