2 回答

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以嘗試使用交叉表進(jìn)行剪切:
slice_startpoints = np.arange(START_TIME, END_TIME+SLICE_SIZE, SLICE_SIZE)
print (slice_startpoints)
df['binned'] = pd.cut(df['time_utc'],
bins=slice_startpoints,
include_lowest=True,
labels=slice_startpoints[1:])
df = pd.crosstab(df['binned'], df['obs_id'])

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以使用“塊”迭代器讀取大型.csv,然后對(duì)塊而不是整個(gè).csv文件執(zhí)行計(jì)算。塊大小定義單個(gè)塊中的行數(shù)。這樣,您就有了一個(gè)很好的句柄來控制內(nèi)存使用情況。缺點(diǎn)是,您將必須添加一些邏輯來合并塊的結(jié)果。
import pandas as pd
df_chunk = pd.read_csv('file.csv', chunksize=1000)
for chunk in df_chunk:
print(chunk)
添加回答
舉報(bào)