每行都有一个唯一索引,因此我的数据框如下所示-
>>>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))
关于python - 像python字典一样迭代Pandas数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33204279/