2014-10-02 50 views
0

我正在從包含有關供應商的行和列(包括zip_code和tax_id列)的excel文件(特別是xlsx)讀取數據幀。當數字被讀入,然後我投了列astype(unicode),tax_id 123456789變成123456789.0。read_excel()和to_excel()之間符合dataframe dtypes

我不想投到int然後mod/truncate(因爲,在zip_code和理論上tax_id的情況下,'07443'將轉換爲7443,這是不好的)。我只想裁剪'.0'並且必須將整個列作爲字符串(更具體地說,是unicode)。

有時read_excel()正確地將一個數字標識爲一個字符串(實際上,07443就是一個很好的例子)。在tax_id的情況下,它顯然是作爲一些數字(即使直到我astype(unicode)它,'.0'沒有出現。

我試過一件事是df.astype(unicode).replace(".0",""),但這似乎並沒有得到它的結果df仍然顯示123456789.0

我不知道如何用代碼說明這一點,因爲你需要一個Excel文件,我不能附加我很開放的建議,以在必要時如何澄清我的問題。

謝謝!

回答

0

嗯,有一點似乎是工作(W我想這是熊貓的真棒):

df['tax_id'].replace(".0$","",regex=True)