2017-03-17 40 views
0

我使用熊貓將結果輸出到LaTeX。我現在設置我的精度(打印出來的小數位數)如下:熊貓數據框按行顯示精度

import pandas as pd 
df = pd.DataFrame({'a':[1234.56, 0.01, 1234.56],'b':[1234.56, 0.01, 1234.56]}) 

pd.set_option('display.float_format', lambda x: '%.2f' % x) 

df.to_latex('filename.tex') 

這很好用。但是我希望精確度對於我的數據框的特定行(和生成的TeX表)是不同的。熊貓可以做到這一點嗎?

對於這個例子,我想行0和2沒有小數位和第1行打印2位小數打印,如下所示:

df 
     a  b 
0 1234 1234 
1 0.01 0.01 
2 1234 1234 
+0

是的,這是可能的。但是,你的問題太模糊了。我可以舉一個例子,但我不想花時間舉一個例子,只是爲了讓你告訴我這不是你正在尋找的東西。爲什麼我會認爲這可能會發生......可能是因爲它已經發生了太多次了。你應該提供一個你想要做的事情的好例子。閱讀[如何提問](http://stackoverflow.com/help/how-to-ask)和[MCVE](http://stackoverflow.com/help/mcve),以便您更好地瞭解如何呈現你的問題。 – piRSquared

+0

感謝您的建議。我希望我的例子很清楚。 –

回答

1

這是一個糟糕的答案,我太疲倦地想到一個更好的。但是在我問了一些關於質量問題的演講之後,我不想讓你掛斷。

p = pd.Series([1, 2, 0], df.index) 

df.apply(lambda x: x.map(p.map(lambda x: '{{:0.{}f}}'.format(x).format).loc[x.name]), 1) 

     a  b 
0 1234.6 1234.6 
1 0.01 0.01 
2 1235 1235 
+0

感謝您的幫助! –