簡體   English   中英

Python & Pandas:如何在 (for) 循環中從我的大數據框創建新的小數據框?

[英]Python & Pandas: How can I create new smaller data frames from my large data frame in a (for) loop?

我有一個大數據框(51 行 x 51 列),其中第一列是 X 值,其他 50 列是 50 個數學函數的 Y 值。

像這樣:

x   y1   y2   y3 ... y49  y50
0   1    0.5  20     200  0
1   2    0.1  5      199  0
2   3   -0.2  10     198  1
3   4   -1    15     197  1
...               
50  51  -70   65     151  15

我想制作一個包含 50 個較小數據框的列表,其中每個 df 列表元素都具有相同的 x 值和特定的 y 值列。

所以結果基本上應該是這樣的:

df1    
x   y1 
0   1    
1   2    
2   3     
3   4     
...               
50  51  

df2
x    y2   
0    0.5  
1    0.1  
2   -0.2 
3   -1   
...               
50  -70   
etc.

我沒有找到任何線索如何使用 for 循環以自動方式執行此操作。 任何想法如何? 提前致謝!

您可以使用列表理解生成要為每個較小的 DataFrame 保留的列:

[df[["x", f"y{i + 1}"]] for i in range(50)]

前兩個元素是:

   x  y1
0  0   1
1  1   2
2  2   3
3  3   4

   x   y2
0  0  0.5
1  1  0.1
2  2 -0.2
3  3 -1.0

暫無
暫無

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

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