python str函数数字转换成字符串,Pandas将数字转换为字符串意外结果
似乎沒有辦法獲得輸入表(從html/xls/etc文件)到DataFrame對象,因為它是1對1,沒有pandas內部應用的任何字段轉換。在
假設下面的html表是以.xls文件的擴展名保存的,那么我們如何在Python內存中使用DataFrame對象獲得相同的表示形式呢?在
“測試”的內容_文件.xls“:
Number
1.320,00600,00(1)直接讀取文件
處理代碼:
^{pr2}$
輸出:Number
0 1.32
1 60000.00
Number float64
dtype: object
如我們所見,這些數字通過一些預定義的邏輯被轉換成float64。我認為這個邏輯包括區域設置,可能是pandas內部的一些規則,等等。直接指定字符串轉換器不允許獲得初始值。在
(2)應用str函數作為每個維度的轉換器
處理代碼:converters = {column_name: str for column_name in df[0].dtypes.index}
df = pandas.read_html(f, converters = converters)
print(df[0])
print(df[0].dtypes)
輸出:Number
0 1.32000
1 60000
Number object
dtype: obje
顯然,這個問題的預期輸出是:Number
0 1.320,00
1 600,00
可能存在這樣的情況,一個文件包含以不同格式(美式/歐式等)鍵入的數字。此數字與十進制標記、千位標記等不同。因此,處理此類文件的邏輯方法是提取字符串中的數據“原樣”,并對每一行分別使用regexp/其他模塊執行解析。有沒有辦法在熊貓身上做到這一點?還有沒有其他方法可以處理這種文件的處理?謝謝各位!在
備注:
“十進制”和“千”參數規范熊貓。閱讀_*看起來不是一個可靠的解決方案,因為它適用于所有領域。簡單示例:它可以將“02.2017”格式的日期字段視為數字,并將其轉換為“022017”。在
總結
以上是生活随笔為你收集整理的python str函数数字转换成字符串,Pandas将数字转换为字符串意外结果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浏览器主页劫持查杀,查杀主页劫持木马方法
- 下一篇: 在php里面加音乐,如何给视频添加音乐