Python & Pandas:如何在 (for) 循环中从我的大数据帧创建新的较小数据框?



我有一个大数据帧(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

相关内容

  • 没有找到相关文章