Skip to main content
 首页 » 编程设计

python之像 python 字典一样迭代 Pandas 数据框

2025年05月04日12duanxz

我的每一行都有一个唯一索引,所以我的数据框看起来像这样 -

>>>df.head() 
    Alignment   Sequence    Sequence2b  Post2b  SequenceLength  Sequence2bLength    Name    Year    Clade   Country Patient medoid 
index                                                
44644   MRV-KET----QMNWP---N----------L---W---K-------...   MRVKETQMNWPNLWKWGTLIFGLVIICSAADNLWVTVYYGVPVWRD...       AGY 778 0   AA111a_WG3  2009    01_AE   TH  AA111   NA 
3616    ------T----QMNWQ---H----------L---W---K-------...   TQMNWQHLWKWGTLILGLVIICSASNLWVTVYYGVPVWKDADTTLF...   AVVKINENATLDDTSY    LKN 822 16  041_WK32    -   B   CH  041 NA 
36025   MRV-KET----QMSWP---N----------L---W---K-------...   MRVKETQMSWPNLWKWGTLILGLVIMCSASDNLWVTVYYGVPVWRD...   D   NTS 843 1   AE_Env_CR11_Jan09D  2009    01_AE   TH  CR11    NA 
42027   MRV-KGI----RKNCQ---H----------L---W---R-------...   MRVKGIRKNCQHLWRWGIMLLGMLMICSTAEKLWVTVYYGVPVWRE...   DADEIHNDDNSS    SCY 862 12  CR0058S 2002    B   US  -   NA 
31626   MRV-RGI----PRNYP---Q----------W---W---I-------...   MRVRGIPRNYPQWWIWGILGFWMIIICRVMESSWVTVYYGVPVWTD...   DAIPLNGNSSNSSSNSSEY LIN 852 19  03ZASK006B2 2003    C   ZA  SK006   NA 

有没有一种方法可以像这样像字典一样轻松地迭代它,就像键值对一样?

for index in df: 
   print index, df[index]['Name'] 
   break 
 >>>44644 : {Name:AA11a_WG3} 

这是我想出的,但我不确定这是否是最“pythonic”的方式。

 for index in df.index: 
     print index, df[df.index == index].Name 

df.to_dict 不起作用,因为它删除了索引。

请您参考如下方法:

您可能想使用 iterrows()。

for idx, row in df.iterrows(): 
     print((idx, row.Name))