[英]Using a generator comprehension to create data frames
如果我錯了,請糾正我,但生成器理解會生成生成器 object。 如果是這種情況,那么為什么 df1、df2、df3 和 df4 的內容是實際數據幀而不是生成器對象?
In [1]: import pandas as pd
nrows, ncols = 10, 10
rng = np.random.RandomState(42)
df1, df2, df3, df4 = (pd.DataFrame(rng.rand(nrows, ncols)) for i in range(4))
In [2]: df1
Out [2]:
0 1 2 ... 7 8 9
0 0.103124 0.902553 0.505252 ... 0.010838 0.905382 0.091287
1 0.319314 0.950062 0.950607 ... 0.328665 0.672518 0.752375
2 0.791579 0.789618 0.091206 ... 0.887704 0.350915 0.117067
3 0.142992 0.761511 0.618218 ... 0.821860 0.706242 0.081349
4 0.084838 0.986640 0.374271 ... 0.753378 0.376260 0.083501
5 0.777147 0.558404 0.424222 ... 0.468661 0.056303 0.118818
6 0.117526 0.649210 0.746045 ... 0.868599 0.223596 0.963223
7 0.012154 0.969879 0.043160 ... 0.553854 0.969303 0.523098
8 0.629399 0.695749 0.454541 ... 0.280963 0.950411 0.890264
9 0.455657 0.620133 0.277381 ... 0.077735 0.974395 0.986211
解壓縮生成器 object (通過執行a, b, c, etc. = (genexp)
)會導致它生成所有項目,然后將一個項目分配給它解包到的每個變量。 在您的情況下,每個變量( df1
、 df2
、 df3
和df4
)從生成器 object 獲得一個DataFrame
因為您將生成器解壓縮到這些變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.