我有一个很大的df,并用'chunksize'来分割它。 之后,我使用循环经过df和下一个循环的间隔来做一些条件,然后我想合并所有这个df。我尝试'concat(df)',但它返回错误。方法'加入'是不方便的,因为我有400 df。 我该如何连接这个? 此代码用大熊猫合并很多df
el = pd.read_csv('df2.csv', iterator=True, chunksize=100000)
buys = pd.read_excel('smartphone.xlsx')
buys['date'] = pd.to_datetime(buys['date'])
dates1 = buys['date']
ids1 = buys['id']
for i in el:
i['used_at'] = pd.to_datetime(i['used_at'])
df = i.sort_values(['ID', 'used_at'])
dates = df['used_at']
ids = df['ID']
urls = df['url']
for i, (id, date, url, id1, date1) in enumerate(zip(ids, dates, urls, ids1, dates1)):
df1 = df[(df['ID'] == ids1[i]) & (df['used_at'] < (dates1[i] + dateutil.relativedelta.relativedelta(days=5)).replace(hour=0, minute=0, second=0)) & (df['used_at'] > (dates1[i] - dateutil.relativedelta.relativedelta(months=1)).replace(day=1, hour=0, minute=0, second=0))]
df1 = DataFrame(df1)
if df1.empty:
continue
else:
df_upd = concat(df1, ignore_index=True)
book = load_workbook('report_buy2.xlsx')
writer = pd.ExcelWriter('report_buy2.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df_upd.to_excel(writer, "Main")
writer.save()
请出示你尝试了一些代码,并发布完整的错误消息。 – Jeff
@JeffL。添加代码 –