python DataFrame數(shù)據(jù)格式化(設(shè)置小數(shù)位數(shù),百分比,千分位分隔符)
1.設(shè)置小數(shù)位數(shù)
1.1 數(shù)據(jù)框設(shè)置統(tǒng)一小數(shù)位數(shù)
以保留小數(shù)點(diǎn)后兩位小數(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ù)點(diǎn)后一位、A2列保留小數(shù)點(diǎn)后兩位為例
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的 每一個(gè)數(shù)據(jù)操作使用**applymap()**方法用于對DataFrame中的數(shù)據(jù)進(jìn)行按行或者按列 操作 apply() 方法用于對Series中的每一個(gè)數(shù)據(jù) 操作 使用**map()**方法
更詳細(xì)可以點(diǎn)擊訪問blog:python數(shù)據(jù)分析apply(),map(),applymap()用法歸納
2. 設(shè)置百分比
學(xué)習(xí)以下代碼:
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編解碼方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07構(gòu)建可視化?web的?Python?神器streamlit
這篇文章主要介紹了構(gòu)建可視化web的Python神器streamlit,Streamlit是一個(gè)用于機(jī)器學(xué)習(xí)、數(shù)據(jù)可視化的Python框架,它能幾行代碼就構(gòu)建出一個(gè)精美的在線app應(yīng)用2022-06-06解決python3 requests headers參數(shù)不能有中文的問題
今天小編就為大家分享一篇解決python3 requests headers參數(shù)不能有中文的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08python實(shí)現(xiàn)將一個(gè)數(shù)組逆序輸出的方法
今天小編就為大家分享一篇python實(shí)現(xiàn)將一個(gè)數(shù)組逆序輸出的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06時(shí)間序列重采樣和pandas的resample方法示例解析
這篇文章主要為大家介紹了時(shí)間序列重采樣和pandas的resample方法示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09詳解Python的collections模塊中的deque雙端隊(duì)列結(jié)構(gòu)
deque結(jié)構(gòu)可以看作是內(nèi)置的list結(jié)構(gòu)的加強(qiáng)版,且比隊(duì)列提供了更強(qiáng)大的方法,下面就通過幾個(gè)小例子來詳解Python的collections模塊中的deque雙端隊(duì)列結(jié)構(gòu):2016-07-07