[英]How can I create dynamic data frames using for loop from an existing data frame
[英]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.