簡體   English   中英

如何使用 Python 過濾 Pandas 數據幀中所有或部分行值大於 0 的列?

[英]How to filter columns whose all or some rows values are greater than 0 in Pandas data-frame using Python?

我有以下數據: df_day_1_matrix = df_day_1.pivot_table(columns='Time', index='Sensor_id', values='Temperature', fill_value= 0) print(df_day_1_matrix)

表格說明:5 * 465 即 5 行用於傳感器 ID,465 列用於不同時間。

 <:DOCTYPE html> <html> <body> <h2>Dataframe</h2> <table style="width:100%"> <tr> <th>Time/Sensor-id</th> <th>10:04:49</th> <th>10:06:18</th> <th>10:07.18</th> <th>........:</th> <th>9:58.04</th> </tr> <tr> <td>2</td> <td>21.2204</td> <td>0.0000</td> <td>20.0121</td> <td>.......</td> <td>24.0100</td> </tr> <tr> <td>3</td> <td>22.1201</td> <td>22.0101</td> <td>0.00000</td> <td>.......</td> <td>22.0104</td> </tr> <tr> <td>4</td> <td>18.2204</td> <td>0.0000</td> <td>9.0222</td> <td>.......</td> <td>20.0200</td> </tr> <tr> <td>5</td> <td>19.2204</td> <td>0.0000</td> <td>19.0221</td> <td>.......</td> <td>0.0000</td> </tr> <tr> <td>6</td> <td>27.2202</td> <td>12.022</td> <td>20.1121</td> <td>.......</td> <td>18.0100</td> </tr> </table> </body> </html>

所以,在這里,我只需要那些值大於 0 的列,至少有 4 個傳感器 ID 從 2 到 6。在這里,例如,我需要過濾后的時間列,例如:

 <:DOCTYPE html> <html> <body> <h2>Dataframe</h2> <table style="width:100%"> <tr> <th>Time/Sensor-id</th> <th>10:04:49</th> <th>10:07.18</th> <th>........:</th> <th>9:58.04</th> </tr> <tr> <td>2</td> <td>21.2204</td> <td>20.0121</td> <td>.......</td> <td>24.0100</td> </tr> <tr> <td>3</td> <td>22.1201</td> <td>0.00000</td> <td>.......</td> <td>22.0104</td> </tr> <tr> <td>4</td> <td>18.2204</td> <td>9.0222</td> <td>.......</td> <td>20.0200</td> </tr> <tr> <td>5</td> <td>19.2204</td> <td>19.0221</td> <td>.......</td> <td>0.0000</td> </tr> <tr> <td>6</td> <td>27.2202</td> <td>20.1121</td> <td>.......</td> <td>18.0100</td> </tr> </table> </body> </html>

如何為上述場景獲取新的數據框?

我正在繞圈子。

我花了 60 分鍾在谷歌上搜索,但找不到我需要的東西....

df.loc[:, df.gt(0).sum(axis=0).ge(4)]

您可以首先查看所有數據框中大於 0 的值( gt(0) ),然后計算每列此類值的數量( sum(axis=0) ),然后再次檢查其計數大於或等於到 4 ( ge(4) ),最后是 select 那些loc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM