簡體   English   中英

使用生成器理解創建數據框

[英]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) )會導致它生成所有項目,然后將一個項目分配給它解包到的每個變量。 在您的情況下,每個變量( df1df2df3df4 )從生成器 object 獲得一個DataFrame因為您將生成器解壓縮到這些變量。

暫無
暫無

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

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