如何将数据添加到将导出为CSV的数据框中

时间:2019-07-15 21:06:44

标签: python pandas dataframe

我试图解析多个CSV文件并从这些文件中收集摘要信息,然后将摘要信息输出为CSV或Excel格式。

到目前为止,我能找出的最好方法是创建一个新的数据框,然后将每个变量添加到值设置为0的数据框中。我的问题是某些摘要信息具有3个输出,因此对于只有1个输出将附加2个零。有没有更优雅的方法可以尝试对此进行编码?

df = pd.read_csv(all_csv_files[0])

df_final = pd.DataFrame({'num_of_mkt':[0,0,0],
                         'num_of_submkt':[0,0,0],
                         'year_max':[0,0,0],
                         'nra_minmax':[0,0,0],
                        })

##Find number of unique markets
df_final.update({'num_of_mkt':[df.msa_id.nunique()]})

##Find the number of submarkets
if hasattr(df, 'submkt_id'):
    df_final.update({'num_of_submkt':[df.submkt_id.nunique()]})
else:
    df_final.update({'num_of_submkt':['None']})

##Find the most recent year
df_final.update({'year_max':[df.year.max()]})

##Find max min values
df_final.update({'nra_minmax':[df.nra.min(),df.nra.max()]})

当我print(df_final)确实获得所需的数据时,但我想知道是否有一种更优雅或更整洁的编码方式,并且这是否也是将此类信息输出为CSV的唯一方法/ Excel格式。

   num_of_mkt num_of_submkt  year_max  nra_minmax  compltns  \
0        64.0          None    2019.2        52.0       0.0   
1         0.0             0       0.0   1399608.0   22514.0   
2         0.0             0       0.0         0.0       0.0   

   absorption_minmax vacrate cnt_bld pct_net_grs_sp  
0           -27226.0   Clear   Clear          Clear  
1            22300.0       0       0              0  
2                0.0       0       0              0

0 个答案:

没有答案