【发布时间】:2019-02-21 01:06:33
【问题描述】:
是否可以从生成器表达式中返回完整的 Pandas DataFrame 作为输出? 我在下面做了一个简化的小数据示例,但所寻求的解决方案应该适用于大数据。当然,连接多个 DataFrame 可以采用不同的方式(例如使用 append),本示例仅用于理解生成器表达式如何与 DataFrame 一起使用。
import pandas as pd
df1 = pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD'))
dat1 = pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD'))
def genso(dat1):
dat2 = pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD'))
for i in range(10):
dat1 = pd.concat([dat1, dat2])
yield dat1
g = genso(df1)
现在可以循环遍历生成器对象,它将给出打印输出,而不是 DataFrame。那么问题来了,怎么把它变成pd.DataFrame呢?
【问题讨论】: