猿问

需要在循环的帮助下对从 url 导入的多个 csv (1500 x 20) 文件的第一列执行列合并

对如何存储、访问和 mege dfs.c df 列具有相同的标题名称感到困惑。代码如下:


for s in range(40):

    # a func which returns historical business dates 

    ago_Ybd_0= 

    (date_by_adding_business_days(datetime.date(2020,7,17),s,Holiday))

     year_0, month_0, day_0 = ago_Ybd_0.strftime("%Y-%b-%d").split("-")

     month_0 = month_0.upper()


    #import / unzip/ read file

    !wget 

    'https://www.ukp.com/content/historical/{year_0}/{month_0}/cm{day_0} 

    {month_0}{year_0}kp.csv.zip' 

    !unzip 'uk{day_0}{month_0}{year_0}kp.csv.zip'

    a_0=f'uk{day_0}{month_0}{year_0}kp.csv.zip' 




     # problem area


     c=f'uk{day_0}{month_0}{year_0}'

     c  = pd.read_csv(a_0,engine='python') 


 # merge

 eod_a=c.merge(c,on='SYSTEM',how='left')


UYOU
浏览 108回答 1
1回答

慕盖茨4494581

考虑构建一个数据框列表,然后调用concat水平合并:def get_data(s):    # a func which returns historical business dates     ago_Ybd_0 = (date_by_adding_business_days(datetime.date(2020, 7, 17), s, Holiday))    year_0, month_0, day_0 = ago_Ybd_0.strftime("%Y-%b-%d").split("-")    month_0 = month_0.upper()    #import / unzip/ read file    !wget     'https://www.ukp.com/content/historical/{year_0}/{month_0}/cm{day_0}     {month_0}{year_0}kp.csv.zip'     !unzip 'uk{day_0}{month_0}{year_0}kp.csv.zip'    a_0=f'uk{day_0}{month_0}{year_0}kp.csv.zip'     # RETURN DATA FRAME, SETTING SYSTEM AS INDEX    return pd.read_csv(a_0, engine='python', index_col='SYSTEM')# BUILD LIST OF DFs VIA LIST COMPREHENSIONdf_list = [get_data(s) for s in range(40)]# BIND ALL DFs BY COLUMNS INTO SINGLE DFfinal_df = pd.concat(df_list, axis='columns')
随时随地看视频慕课网APP

相关分类

Python
我要回答