2015-10-18 67 views
0

我會爲每個行的唯一指標迭代熊貓據幀,所以我的數據幀是這樣的 -像Python字典

>>>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不起作用,因爲它刪除索引。

+1

也許你正在尋找['iterrows'(http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.iterrows.html)?你的例子有點奇怪,因爲你說你想迭代DataFrame,但實際上只使用它的一列。 – BrenBarn

回答

2

您可能要使用iterrows()

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