python:如何用VAEX连接Pandas Dataframe

k5ifujac  于 2022-10-23  发布在  Python
关注(0)|答案(1)|浏览(165)

我想将数千个 Dataframe 连接到一个VAEX Dataframe 中https://vaex.readthedocs.io/en/latest/api.html?highlight=concat#vaex.concat
我愿意:

df_vaex = vaex.DataFrame()
for i,file in enumerate(files):
    df = pd.read_pickle(file)
    df_vx = vaex.from_pandas(df=df, copy_index=False)
    df_vaex.concat(df_vx)
    if i%100 == 0:
        print(i)

这不起作用。
如何在vaex中读取和连接 Dataframe ?
我得到的错误是,vaex没有方法concat:AttributeError:“DataFrame”对象没有属性“concat”


小时
第二次尝试遵循第一条评论:

for i,file in enumerate(files):
    df = pd.read_pickle(file)
    df_vaex_total = vaex.from_pandas(df=df, copy_index=False)
    if i == 0:
        pass
    else:
        print(type(df_vaex_total)) # its equal to <class 'vaex.dataframe.DataFrameLocal'>
        print(type(df_vx)) # its equal to <class 'vaex.dataframe.DataFrameLocal'>

        df_vaex_total = pd.concat([df_vaex_total, df_vx])

    if i%10 == 0:
        print(i)

错误:TypeError:无法连接类型为“<class”的vaex.dataframe对象。DataFrameLocal“>”;只有Series和DataFrame对象有效

fgw7neuy

fgw7neuy1#

如果您想使用vaex连接 Dataframe ,您需要按照以下方式进行:

  • 首先读取所有 Dataframe
  • 创建 Dataframe 列表
  • 使用df_final = vaex.concat(list_of_dataframes)

所以你的代码看起来像这样:

list_of_dataframes = []

for i, file in enumerate(files)
    pdf = pd.read_pickle(file)
    df = vaex.from_pandas(pdf)
    list_of_dataframes.append(df)

df_final = vaex.concat(list_of_dataframes)

相关问题