df.where(dfmask, targetValue)展示
生活随笔
收集整理的這篇文章主要介紹了
df.where(dfmask, targetValue)展示
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
下面代碼通過一些對(duì)比來看出對(duì)于特定區(qū)域的賦值問題做了演示
之前我寫了一些文章,看到上面有很多關(guān)于這個(gè)的問題的討論,大家有興趣可以去看看。
第一篇
第二篇
第三篇
但在這里, 我會(huì)對(duì)于pandas中dataframe的where函數(shù)做講解。
import pandas as pdif __name__ == '__main__':df = pd.DataFrame({'AAA': range(5), 'BBB': list('abcde'), 'CCC': ['a', 12, 1.2, ['alist'], (1, 2)]})# use pandas where you mark after you maskdfmask = pd.DataFrame({'AAA': [True] * 5, 'BBB': [True] * 3 + [False] * 2, 'CCC': [False] * 2 + [True] *3})print(df)print(dfmask)print(df.where(dfmask, 1000))dfnew = df.where(dfmask, 1000)print(dfnew)print(df)輸出的結(jié)果是:
AAA BBB CCC 0 0 a a 1 1 b 12 2 2 c 1.2 3 3 d [alist] 4 4 e (1, 2)AAA BBB CCC 0 True True False 1 True True False 2 True True True 3 True False True 4 True False TrueAAA BBB CCC 0 0 a 1000 1 1 b 1000 2 2 c 1.2 3 3 1000 [alist] 4 4 1000 (1, 2)AAA BBB CCC 0 0 a 1000 1 1 b 1000 2 2 c 1.2 3 3 1000 [alist] 4 4 1000 (1, 2)AAA BBB CCC 0 0 a a 1 1 b 12 2 2 c 1.2 3 3 d [alist] 4 4 e (1, 2)解析
- 通過第一個(gè)矩陣,我們看到初始化的樣子。
- 通過第二個(gè)矩陣,這是我們做的出的dataframe Mask矩陣。通過之前的學(xué)習(xí),其實(shí)之前的很多方法,都是用類似的機(jī)制。
- 可以看到,對(duì)應(yīng)位置為False的地方,全部被改成了1000了。
- 通過,dfnew跟df的數(shù)值的區(qū)別,可以看到,df.where只是返回了一個(gè)copy后的對(duì)象。不改原參數(shù)。不像之前比較常使用的df.loc這一類的。
總結(jié)
以上是生活随笔為你收集整理的df.where(dfmask, targetValue)展示的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不允许一个迭代的对象自己接着迭代下去(P
- 下一篇: 某些列满足某些条件就被改是什么值,不满足