/ Python And R Data science skills: 46 python data frames part 03

Monday 5 February 2018

46 python data frames part 03

46 Data frames conditions
In [6]:
import pandas as pd
import numpy as np
from numpy.random import randn
np.random.seed(3)
m1=randn(5,4)
In [7]:
df1=pd.DataFrame(m1,["a","b","c","d","e"],["w","x","y","z"])
In [7]:
df1
Out[7]:
w x y z
a 1.788628 0.436510 0.096497 -1.863493
b -0.277388 -0.354759 -0.082741 -0.627001
c -0.043818 -0.477218 -1.313865 0.884622
d 0.881318 1.709573 0.050034 -0.404677
e -0.545360 -1.546477 0.982367 -1.101068
In [8]:
df1['w']
Out[8]:
a    1.788628
b   -0.277388
c   -0.043818
d    0.881318
e   -0.545360
Name: w, dtype: float64
In [9]:
df1
Out[9]:
w x y z
a 1.788628 0.436510 0.096497 -1.863493
b -0.277388 -0.354759 -0.082741 -0.627001
c -0.043818 -0.477218 -1.313865 0.884622
d 0.881318 1.709573 0.050034 -0.404677
e -0.545360 -1.546477 0.982367 -1.101068
In [10]:
df1>0
Out[10]:
w x y z
a True True True False
b False False False False
c False False False True
d True True True False
e False False True False
In [11]:
z=df1>0
In [12]:
z
Out[12]:
w x y z
a True True True False
b False False False False
c False False False True
d True True True False
e False False True False
In [15]:
df1[z]
Out[15]:
w x y z
a 1.788628 0.436510 0.096497 NaN
b NaN NaN NaN NaN
c NaN NaN NaN 0.884622
d 0.881318 1.709573 0.050034 NaN
e NaN NaN 0.982367 NaN
In [19]:
df1[df1<0]
Out[19]:
w x y z
a NaN NaN NaN -1.863493
b -0.277388 -0.354759 -0.082741 -0.627001
c -0.043818 -0.477218 -1.313865 NaN
d NaN NaN NaN -0.404677
e -0.545360 -1.546477 NaN -1.101068
In [20]:
df1
Out[20]:
w x y z
a 1.788628 0.436510 0.096497 -1.863493
b -0.277388 -0.354759 -0.082741 -0.627001
c -0.043818 -0.477218 -1.313865 0.884622
d 0.881318 1.709573 0.050034 -0.404677
e -0.545360 -1.546477 0.982367 -1.101068
In [22]:
df1[df1["w"]>0]
Out[22]:
w x y z
a 1.788628 0.436510 0.096497 -1.863493
d 0.881318 1.709573 0.050034 -0.404677
In [45]:
df1[df1['w']>0]['y']
print(df1)
          w         x         y         z
a  1.788628  0.436510  0.096497 -1.863493
b -0.277388 -0.354759 -0.082741 -0.627001
c -0.043818 -0.477218 -1.313865  0.884622
d  0.881318  1.709573  0.050034 -0.404677
e -0.545360 -1.546477  0.982367 -1.101068
In [25]:
df1[df1['w']>0][['y','x']]
Out[25]:
y x
a 0.096497 0.436510
d 0.050034 1.709573
In [33]:
df1['w']>0
Out[33]:
a     True
b    False
c    False
d     True
e    False
Name: w, dtype: bool
In [34]:
bs=df1['w']>0
In [46]:
bs
Out[46]:
a     True
b    False
c    False
d     True
e    False
Name: w, dtype: bool
In [37]:
res=df1[bs]
In [47]:
res
Out[47]:
w x y z
a 1.788628 0.436510 0.096497 -1.863493
d 0.881318 1.709573 0.050034 -0.404677
In [52]:
res[["x","y"]]
Out[52]:
x y
a 0.436510 0.096497
d 1.709573 0.050034
In [44]:
res[['x','y']]
Out[44]:
x y
a 0.436510 0.096497
d 1.709573 0.050034
In [53]:
z=["x","y"]
In [54]:
res[z]
Out[54]:
x y
a 0.436510 0.096497
d 1.709573 0.050034
In [55]:
df1
Out[55]:
w x y z
a 1.788628 0.436510 0.096497 -1.863493
b -0.277388 -0.354759 -0.082741 -0.627001
c -0.043818 -0.477218 -1.313865 0.884622
d 0.881318 1.709573 0.050034 -0.404677
e -0.545360 -1.546477 0.982367 -1.101068
In [66]:
df1[(df1["x"]>0) |(df1["y"]>0)]
Out[66]:
w x y z
a 1.788628 0.436510 0.096497 -1.863493
d 0.881318 1.709573 0.050034 -0.404677
e -0.545360 -1.546477 0.982367 -1.101068
In [9]:
(df1["x"]>0)| (df1["y"]>0 )
Out[9]:
a     True
b    False
c    False
d     True
e     True
dtype: bool
In [63]:
(df1["x"]>0) & (df1["y"]>0 ) & (df1["z"]>0 )
Out[63]:
a    False
b    False
c    False
d    False
e    False
dtype: bool
In [64]:
df1[(df1["x"]>0) & (df1["y"]>0 ) & (df1["z"]>0 )]
Out[64]:
w x y z
In [1]:
True and True
Out[1]:
True
In [2]:
True and False
Out[2]:
False
In [3]:
True or False
Out[3]:
True
In [10]:
df1
Out[10]:
w x y z
a 1.788628 0.436510 0.096497 -1.863493
b -0.277388 -0.354759 -0.082741 -0.627001
c -0.043818 -0.477218 -1.313865 0.884622
d 0.881318 1.709573 0.050034 -0.404677
e -0.545360 -1.546477 0.982367 -1.101068
In [18]:
df2.reset_index(inplace=True)
In [13]:
df2=df1
In [19]:
df2
Out[19]:
index w x y z
0 a 1.788628 0.436510 0.096497 -1.863493
1 b -0.277388 -0.354759 -0.082741 -0.627001
2 c -0.043818 -0.477218 -1.313865 0.884622
3 d 0.881318 1.709573 0.050034 -0.404677
4 e -0.545360 -1.546477 0.982367 -1.101068
In [20]:
in1=["AP","tg","ks","nk","ph"]
In [21]:
df1["states"] =in1
In [25]:
df1
Out[25]:
index w x y z states
0 a 1.788628 0.436510 0.096497 -1.863493 AP
1 b -0.277388 -0.354759 -0.082741 -0.627001 tg
2 c -0.043818 -0.477218 -1.313865 0.884622 ks
3 d 0.881318 1.709573 0.050034 -0.404677 nk
4 e -0.545360 -1.546477 0.982367 -1.101068 ph
In [26]:
df1.set_index("states",imp)
Out[26]:
index w x y z
states
AP a 1.788628 0.436510 0.096497 -1.863493
tg b -0.277388 -0.354759 -0.082741 -0.627001
ks c -0.043818 -0.477218 -1.313865 0.884622
nk d 0.881318 1.709573 0.050034 -0.404677
ph e -0.545360 -1.546477 0.982367 -1.101068
In [24]:
df1
Out[24]:
index w x y z states
0 a 1.788628 0.436510 0.096497 -1.863493 AP
1 b -0.277388 -0.354759 -0.082741 -0.627001 tg
2 c -0.043818 -0.477218 -1.313865 0.884622 ks
3 d 0.881318 1.709573 0.050034 -0.404677 nk
4 e -0.545360 -1.546477 0.982367 -1.101068 ph
In [27]:
df1
Out[27]:
index w x y z states
0 a 1.788628 0.436510 0.096497 -1.863493 AP
1 b -0.277388 -0.354759 -0.082741 -0.627001 tg
2 c -0.043818 -0.477218 -1.313865 0.884622 ks
3 d 0.881318 1.709573 0.050034 -0.404677 nk
4 e -0.545360 -1.546477 0.982367 -1.101068 ph

No comments:

Post a Comment