Skip to main content
 首页 » 编程设计

python之按元素将单行 append 到 Pandas 数据框中

2025年05月04日31haluo1

我有以下(示例)数据框:

      Age   height  weight  haircolor 
joe    35    5.5      145     brown 
mary   26    5.25     110     blonde 
pete   44    6.02     185     red 
.... 

索引中没有重复值。

我处于不得不使用许多其他数据帧中的元素 append 到此数据帧的尴尬境地。所以我追加如下:

names_df = names_df.append({'Age': someage,  
                            'height': someheight,  
                            'weight':someweight,  
                            'haircolor': somehaircolor'},  
                             ignore_index=True) 

我的问题是使用此方法如何将 names_df 中的新索引值设置为等于人名?

我唯一能想到的就是在追加之前重置 df 索引,然后再重新设置它。丑陋的。必须有更好的方法。

提前致谢。

请您参考如下方法:

我不确定您以何种格式获取要 append 到原始 df 的数据,但一种方法如下:

df.loc['new_name', :] = ['someage', 'someheight', 'someweight', 'somehaircolor'] 
 
 
            Age     height      weight      haircolor 
joe         35      5.5         145         brown 
mary        26      5.25        110         blonde 
pete        44      6.02        185         red 
new_name    someage someheight  someweight  somehaircolor 

时间测试:

%timeit df.loc['new_name', :] = ['someage', 'someheight', 'someweight', 'somehaircolor'] 
 
1000 loops, best of 3: 408 µs per loop 
 
%timeit df.append(pd.DataFrame({'Age': 'someage', 'height': 'someheight','weight':'someweight','haircolor': 'somehaircolor'}, index=['some_person'])) 
 
100 loops, best of 3: 2.59 ms per loop