多個DataFrame的儲存

2021-10-01 19:33:57 字數 1729 閱讀 2180

datadf型別:list中包含若干個dataframe,由於每個dataframe都很大,現在需要把每個dataframe分別儲存成乙個csv方便讀取

嘗試1:

為了省記憶體,把每個dataframe轉換成str格式進行儲存

file

=open

('./temp_diff/strline.csv'

,'w'

)for fp in datadf:

file

.write(

str(fp)

)file

.write(

'\n'

)file

.close(

)

開啟strline.csv檔案

嘗試2:

list轉換成陣列,然後存成npy,報錯memoryerror,可能是需要很大的記憶體

嘗試3:

每個dataframe直接存為csv檔案,由於dataframe的資料型別預設為float,精度太高,所以儲存時十分耗記憶體,速度也是十分慢

嘗試4:dataframe中的資料只保留兩位小數

for i,df in

enumerate

(datadf)

: f=

lambda x:

'%.2f'

%x ####(由於dataframe預設為float型別,儲存時十分浪費記憶體,所以將其保留兩位小數)

其中unnamed:0 列為原先每個dataframe中的index,只需要 data.drop(["『unnamed: 0』"],axis=1),即可去除這一列

DataFrame按多個條件刪除行

data.drop index data data 公司縮寫 row 1 data 發布時間 row 2 data 文章綜合情感 row 3 index for row in merge data12.itertuples 迴圈titledata每一行 a row 1 split print mer...

多個dataframe的列合併與行合併

將多個資料表,以時間為索引,並選取需要分析的列進行合併。在本文中,拿到的資料是同一時期的不同裝置的特徵資料,需要提取對應的列進行時間合併,在合併過程中存在以下問題 1 時間索引存在重複,需要刪除重複項,否則合併時會報錯 2 每個表中需要提取的列名稱一樣,需要在合併前進行重新命名,否則合併後就無法區分...

合併 多個dataframe 第五章 合併

a 利用series新增行 必須指定name s pd.series name new row b 用dataframe新增表 df temp pd.dataframe index new 1 new 2 此方法主要用於新增列,列名直接由引數指定 s pd.series list abcd inde...