pandas 的幾個查詢方法

babyyellow發表於2019-07-16
import  os, sys
import numpyt as np
import   pandas  as pd 
讀取excel 表格. 
res=pd.DataFrame(pd.read_excl(file_name))
res= pd.read_csv
寫 excle   
res.to_excel(file_name) 
res.to_csv(file_name)
>>> s
0         1
1         2
2        3a
3        3b
4       03c
5    我們(無效)
dtype: object
>>> type(s)
<class 'pandas.core.series.Series'>
找到指定字元的資料
>>> s.str.contains(u'(?=我們).*')
0    False
1    False
2    False
3    False
4    False
5     True
dtype: bool
>>> s[s.str.contains(u'(?=我們).*')]
5    我們(無效)
dtype: object
>>> 
>>> s.str.contains(u'無效')
0    False
1    False
2    False
3    False
4    False
5     True
dtype: bool
>>> s[s.str.contains(u'無效')]
5    我們(無效)
dtype: object
>>> import numpy as np
>>> n=10
>>> df = pd.DataFrame(np.random.randint(n, size=(n, 2)), columns=list('bc'))
>>> df
   b  c
0  1  6
1  3  6
2  0  9
3  2  4
4  7  5
5  7  2
6  9  7
7  1  2
8  3  7
9  3  6
資料查詢條件. 
>>> df[df['b'] > 5]
   b  c
4  7  5
5  7  2
6  9  7
列之間比較. 
>>> df[df.b > df.c]
   b  c
4  7  5
5  7  2
6  9  7 
從資料集中刪除篩選出來的資料集. 
>>> df2=df
>>> df2
   b  c
0  1  6
1  3  6
2  0  9
3  2  4
4  7  5
5  7  2
6  9  7
7  1  2
8  3  7
9  3  6
>>> df3=df[df.b > df.c]
>>> df3
   b  c
4  7  5
5  7  2
6  9  7
>>> df2.drop(df3.index)
   b  c
0  1  6
1  3  6
2  0  9
3  2  4
7  1  2
8  3  7
9  3  6
幾個資料統計方面的方法. 
>>> df2
   b  c
0  1  6
1  3  6
2  0  9
3  2  4
4  7  5
5  7  2
6  9  7
7  1  2
8  3  7
9  3  6
>>> 
>>> df2.groupby(by='b').sum() 求和  
    c
b    
0   9
1   8
2   4
3  19
7   7
9   7
>>> df2.groupby(by='b').count()  計數,
   c
b   
0  1
1  2
2  1
3  3
7  2
9  1
>>> df2.groupby(by='b').mean()  平均值.
          c
b          
0  9.000000
1  4.000000
2  4.000000
3  6.333333
7  3.500000
9  7.000000


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-2650668/,如需轉載,請註明出處,否則將追究法律責任。

相關文章