2015-09-02 58 views
2

來排我謹代表在大熊貓數據幀一排的格式化字符串引用的列。我發現,最好的方法是將行轉換爲一個字典,然後的String.Format()應用的String.Format()的熊貓數據幀

假設pd.DataFramedf與列的樣品「和「日期」:

r = df.loc[0] 
print("{specimen}_{date}".format(**r.to_dict())) 

可以使用申請使用列數據格式字符串。

這似乎不是很有效。是否有必須有一個更好的方式來做到這一點大熊貓的情況下直接轉換爲一個字典,同時保持明確命名的列靈活格式字符串?

更新:

的最終目的是生成刻度標記的matplotlib陰謀。使用下面的答案:

plot.set_yticklabels(["{specimen}_{date}".format(**r) for i,r in df.iterrows()]) 

回答

5

您可以使用該行本身。它是一個Series,它支持字典式訪問項目:

>>> d 
    A  B  C 
0 1 This One 
1 2 is Two 
2 3 crud Three 
>>> "{A} then {B} and also {C}".format(**d.iloc[0]) 
'1 then This and also One'