我正在对围绕6GB的大型文件进行计算,每个文件中都有、Modin、熊猫、,我听说与熊猫相比,这是优化的。
我需要以块的形式读取CSV文件,并对其执行计算,并将其附加到大型 dataframe 中,并再次将大数据文件转换为CSV文件。
这对于Pandas来说是非常好的。但是处理小文件需要花费太多的时间。对于6GB文件,我甚至都无法想象。
然而,当我试图对modin熊猫做同样的事情时,它无法将dataframe附加到一个大的数据文件中,而我想要转换为csv文件。
有人能提出任何替代这个或解决方案的建议吗。
Python - 3.6
Pandas - 0.24.2
Modin Pandas - 0.5.2码.
import modin.pandas as pd
def calculate_visit_prioritization(df):
# calculations here
return df
def get_all_data():
big_df = pd.DataFrame()
for df in pd.read_csv('./samp.csv', chunksize=50):
big_df = big_df.append(calculate_visit_prioritization(df))
big_df.to_csv('samps3.csv', index=False)
def main():
get_all_data()
if __name__ == '__main__':
main()使用Modin熊猫追加数据格式时错误.
UserWarning:
DataFrame.append表示空DataFrame默认为熊猫实现。 文件"/home/tony/.local/lib/python3.6/site-packages/pandas/core/reshape/concat.py",第289行,在__init__raise (Msg)中 TypeError:不能连接类型为“”的对象;只有pd.Series、pd.DataFrame和pd.Panel (废弃的) objs是有效的
我读过这个链接,据说熊猫的.append()函数是(P )在Modin中实现的。
发布于 2019-06-15 14:52:34
modin的USP是大熊猫和modin熊猫之间唯一的区别是进口声明。要连接多个DataFrames,请使用单个pd.concat调用,而不是N个append调用,以获得更好的性能。
df_list = []
for df in pd.read_csv('./samp.csv', chunksize=50):
df_list.append(calculate_visit_prioritization(df))
big_df = pd.concat(df_list, ignore_index=True)
big_df.to_csv('samps3.csv', index=False)这也可以很好地处理空子DataFrame。
https://stackoverflow.com/questions/56610919
复制相似问题