Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从生成器表达式输出pd.DataFrame_Python_Pandas - Fatal编程技术网

Python 从生成器表达式输出pd.DataFrame

Python 从生成器表达式输出pd.DataFrame,python,pandas,Python,Pandas,是否可以从生成器表达式返回完整的数据帧作为输出? 我在下面给出了一个简化的小数据示例,但寻求的解决方案应该适用于大数据。当然,连接多个数据帧可以以不同的方式完成(用于ex.append),本例仅用于理解生成器表达式如何处理数据帧 import pandas as pd df1 = pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD')) dat1 = pd.DataFrame(np.random.randn(10, 4), colum

是否可以从生成器表达式返回完整的数据帧作为输出? 我在下面给出了一个简化的小数据示例,但寻求的解决方案应该适用于大数据。当然,连接多个数据帧可以以不同的方式完成(用于ex.append),本例仅用于理解生成器表达式如何处理数据帧

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)
现在可以循环生成器对象,它将提供打印输出,而不是数据帧。所以问题是,如何将其转换为pd.DataFrame?

是的,我想是的

尝试:

df.info()
INT64索引:110个条目,0到9
数据列(共4列):
110非空浮点64
B 110非空浮点64
C 110非空浮点64
D 110非空浮点64
数据类型:float64(4)
内存使用率:4.3KB
是的,我想是的

尝试:

df.info()
INT64索引:110个条目,0到9
数据列(共4列):
110非空浮点64
B 110非空浮点64
C 110非空浮点64
D 110非空浮点64
数据类型:float64(4)
内存使用率:4.3KB
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