python DataFrame數(shù)據(jù)格式化(設(shè)置小數(shù)位數(shù),百分比,千分位分隔符)
1.設(shè)置小數(shù)位數(shù)
1.1 數(shù)據(jù)框設(shè)置統(tǒng)一小數(shù)位數(shù)
以保留小數(shù)點后兩位小數(shù)為例:
import pandas as pd import numpy as np df = pd.DataFrame(np.random.random([5, 5]), columns=['A1', 'A2', 'A3','A4','A5']) print(df) print("==================================") print(df.round(2))
1.2 數(shù)據(jù)框分別設(shè)置不同小數(shù)位數(shù)
以A1列保留小數(shù)點后一位、A2列保留小數(shù)點后兩位為例
import pandas as pd import numpy as np df = pd.DataFrame(np.random.random([5, 5]), columns=['A1', 'A2', 'A3','A4','A5']) print(df) print("==================================") print(df.round({'A1': 1, 'A2': 2}))
1.3 通過Series設(shè)置DataFrame小數(shù)位數(shù)
通過Series對象設(shè)置df小數(shù)位數(shù),A1一位,A2零位,A3二位小數(shù)
import pandas as pd import numpy as np df = pd.DataFrame(np.random.random([5, 5]), columns=['A1', 'A2', 'A3','A4','A5']) print(df) print("==================================") s1 = pd.Series([1, 0, 2], index=['A1', 'A2', 'A3']) print(df.round(s1))
1.4 applymap(自定義函數(shù))
通過自定義函數(shù)設(shè)置小數(shù)位數(shù),返回類型為object,以設(shè)置為二位小數(shù)為例
import pandas as pd import numpy as np df = pd.DataFrame(np.random.random([5, 5]), columns=['A1', 'A2', 'A3','A4','A5']) print(df) print("==================================") print(df.applymap(lambda x: '%.2f'%x))
用于對DataFrame的 每一個數(shù)據(jù)操作使用**applymap()**方法用于對DataFrame中的數(shù)據(jù)進行按行或者按列 操作 apply() 方法用于對Series中的每一個數(shù)據(jù) 操作 使用**map()**方法
更詳細可以點擊訪問blog:python數(shù)據(jù)分析apply(),map(),applymap()用法歸納
2. 設(shè)置百分比
學習以下代碼:
import pandas as pd import numpy as np df = pd.DataFrame(np.random.random([5, 5]), columns=['A1', 'A2', 'A3', 'A4', 'A5']) print(df) print("==================================================================") df['百分比'] = df['A1'].apply(lambda x: format(x, '.0%')) # 整列保留0位小數(shù) print(df) print("==================================================================") df['百分比'] = df['A1'].apply(lambda x: format(x, '.2%')) # 整列保留兩位小數(shù) print(df) print("==================================================================") df['百分比'] = df['A1'].map(lambda x: '{:.0%}'.format(x)) # 整列保留0位小數(shù),也可以使用map函數(shù) print(df)
3. 設(shè)置千分位分隔符
import pandas as pd data = [['aaaaaaa', '1月', 49768889], ['bbbbbbb', '2月', 11777775], ['ccccccc', '3月', 13799990]] columns = ['name', 'month', 'num'] df = pd.DataFrame(data=data, columns=columns) print(df) print("================================================") df['num'] = df['num'].apply(lambda x: format(int(x), ',')) print(df)
到此這篇關(guān)于python DataFrame數(shù)據(jù)格式化(設(shè)置小數(shù)位數(shù),百分比,千分位分隔符)的文章就介紹到這了,更多相關(guān)python DataFrame數(shù)據(jù)格式化 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3內(nèi)置模塊之base64編解碼方法詳解
這篇文章主要介紹了Python3內(nèi)置模塊之base64編解碼方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07構(gòu)建可視化?web的?Python?神器streamlit
這篇文章主要介紹了構(gòu)建可視化web的Python神器streamlit,Streamlit是一個用于機器學習、數(shù)據(jù)可視化的Python框架,它能幾行代碼就構(gòu)建出一個精美的在線app應(yīng)用2022-06-06解決python3 requests headers參數(shù)不能有中文的問題
今天小編就為大家分享一篇解決python3 requests headers參數(shù)不能有中文的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08python實現(xiàn)將一個數(shù)組逆序輸出的方法
今天小編就為大家分享一篇python實現(xiàn)將一個數(shù)組逆序輸出的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06詳解Python的collections模塊中的deque雙端隊列結(jié)構(gòu)
deque結(jié)構(gòu)可以看作是內(nèi)置的list結(jié)構(gòu)的加強版,且比隊列提供了更強大的方法,下面就通過幾個小例子來詳解Python的collections模塊中的deque雙端隊列結(jié)構(gòu):2016-07-07