pandas39 replace替换数值( tcy)
生活随笔
收集整理的這篇文章主要介紹了
pandas39 replace替换数值( tcy)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
replace-替換2019/1/4
1.函數(shù):?
df.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad') #value替換給定的值to_replace # replace動態(tài)替換不同于.loc更新(需指定要更新的位置)參數(shù): to_replace:str,regex,list,dict,Series,int,float或None#將被替換的值1)numeric,str或regex:等于或匹配的值將被替換2)str,regex或numeric列表:# to_replace和value都是列表長度必須相同# regex=True兩列表中字符串都被解釋為正則表達式,否則將直接匹配。3)字典:# 直接替換:to_replace= {'a': 'b', 'y': 'z'},value=None# 指定列:{'A': 0, 'B': 5}, value # 用值替換A,B列中的數(shù)值# 嵌套的典:{'A': {'b':np.nan}}) # A列b被None替換,b可是RE,A不可以;value=None:標量,字典,列表,str,正則表達式;#要替換的值 inplace=False #True就地修改 limit=None:int#向前或向后填充的數(shù)量regex=False:bool或與to_replace相同的類型;正則表達式# to_replace=r'^ba.$', value=str, regex=True# to_replace={'A': r'^ba.$'}, value={'A': str}, regex=True# regex=r'^ba.$', value=str #regex為字符串to_replace必為None# regex={r'^ba.$':str, 'foo':str}# regex=[r'^ba.$', str], value=strmethod='pad':{'pad','ffill','bfill',None}#用前面或后面的值替換2.實例1:??
# 實例1.1:to_replace=標量;value=標量 s = pd.Series([0, 1, 2, 3, 4]) df = pd.DataFrame({'A': [0,1,2,3,4], 'B': [5,6,7,8,9],'C': ['a','b','c','d','e']})s.replace(0, 5) # 用5替換0 df.replace(0, 5) # 用5替換0# 實例1.2:to_replace=列表;value=標量或列表 df.replace([0, 1, 2, 3], 4) # 用4替換0,1,2,3,4 df.replace([0, 1, 2, 3], [4, 3, 2, 1]) # 4,3,2,1分別替換0,1,2,3# 實例1.3:to_replace=dict;value=None或標量 df.replace({0: 10, 1: 100}) # 10替換0,100替換1 df.replace({'A': 0, 'B': 5}, 100) # A列0,B列5都用100替換 df.replace({'A': {0: 100, 4: 400}}) # A列0被100替換,4被400替換s.replace([1, 2], method='bfill') # 后項替換即用3替換1,2df = pd.DataFrame({'A': [1,2,3,4,5,6], 'B': [-1,10,11,12,12,14]}) df.replace({1: 10, 2000: 60, 30: -30, 40: -40}) # 實例2:正則表達式:?? df = pd.DataFrame({'A': ['bat', 'foo', 'bait'],'B': ['abc', 'bar', 'xyz']})result1=df.replace(to_replace=r'^ba.$', value='new', regex=True)#結(jié)果同下 result1=df.replace(regex=r'^ba.$', value='new') #等價 result2=df.replace({'A': r'^ba.$'}, {'A': 'new'}, regex=True) result3=df.replace(regex={r'^ba.$':'new', 'foo':'xyz'}) result4=df.replace(regex=[r'^ba.$', 'foo'], value='new')# result1 result2 result3 result4A B A B A B A B 0 new abc 0 new abc 0 new abc 0 new abc 1 foo new 1 foo bar 1 xyz new 1 new new 2 bait xyz 2 bait xyz 2 bait xyz 2 bait xyz # 實例3:替換bool或datetime64數(shù)據(jù)類型必須匹配? df = pd.DataFrame({'A': [True, False, True],'B': [False, True, False]}) df.replace({'a string': 'new value', True: False}) # 錯誤數(shù)據(jù)類型不匹配 #實例4 method? s = pd.Series([0, 1, 2, 3, 4]) result1=s.replace([2,3],method='pad') result1=s.replace([2,3],method='ffill') result2=s.replace([2,3],method='bfill')# s result1 result2 0 0 0 0 0 0 1 1 1 1 1 1 2 2 2 1 2 4 3 3 3 1 3 4 4 4 4 4 4 4 dtype: int64 dtype: int64 dtype: int64 #實例5? s = pd.Series([1, 'a', 'a', 'b', 'a'])result1=s.replace('a', None) result1=s.replace(to_replace='a', value=None, method='pad') #等價 result2=s.replace({'a': None}) result2=s.replace(to_replace={'a': None}, value=None, method=None)#等價# s result1 result2 0 1 0 1 0 1 1 a 1 1 1 None 2 a 2 1 2 None 3 b 3 b 3 b 4 a 4 b 4 None dtype: object dtype: object dtype: object總結(jié)
以上是生活随笔為你收集整理的pandas39 replace替换数值( tcy)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络空间问题之缺乏动态评估、安全开发、非
- 下一篇: 【Verilog我思我用】-genera