python不等式编程_在Python中pandas列上的不等式
生活随笔
收集整理的這篇文章主要介紹了
python不等式编程_在Python中pandas列上的不等式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我有一個pandas數據框,我想基于現有列和某些不等式創建一個新列.例如,讓我們
df=pd.DataFrame({'a':[1,2,3,4,5,6,7],'b':[3,6,4,2,7,7,1]})
所以df看起來像
a b
0 1 3
1 2 6
2 3 4
3 4 2
4 5 7
5 6 7
6 7 1
我想添加一個新列res,如果a中的對應值小于2則等于0,如果a中的對應值至少為2且小于4則為1,否則為2.所以我想得到
a b res
0 1 3 0
1 2 6 1
2 3 4 1
3 4 2 2
4 5 7 2
5 6 7 2
6 7 1 2
到目前為止,我一直在使用apply如下:
def f(x):
if x['a']<2:
return 0
elif x['a']>=2 and x['a']<4:
return 1
else:
return 2
df['res']=df.apply(f,axis=1)
但我想知道是否有更直接的方式,或者某些特定的熊貓方法可以讓我這樣做.
你可以使用
pd.cut:
df['res'] = pd.cut(df.a,[-np.inf,2,4,np.inf],labels=[0,1,2],right=False)
輸出:
a b res
0 1 3 0
1 2 6 1
2 3 4 1
3 4 2 2
4 5 7 2
5 6 7 2
6 7 1 2
總結
以上是生活随笔為你收集整理的python不等式编程_在Python中pandas列上的不等式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python统计单词平均长度_统计学的P
- 下一篇: 使鼠标保持按住状态_MouseInc 鼠