是否可以从生成器表达式返回完整的Pandas DataFrame作为输出? 我在下面做了一个简化的小数据示例,但是寻求的解决方案应该适用于大数据。当然,可以以不同的方式连接多个DataFrame(例如用于附加),本示例仅用于理解生成器表达式如何与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?
答案 0 :(得分:2)
是的,我想是这样
尝试:
df = next(g)
type(df)
pandas.core.frame.DataFrame
和
df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 110 entries, 0 to 9
Data columns (total 4 columns):
A 110 non-null float64
B 110 non-null float64
C 110 non-null float64
D 110 non-null float64
dtypes: float64(4)
memory usage: 4.3 KB