pandas DataFrame 연산 의 실현

5670 단어 pandasDataFrame운산
1 산술 연산
add(other)
예 를 들 어 수학 연산 에 구체 적 인 숫자 를 더 하 는 것 이다.

data['open'].add(1)

2018-02-27 24.53
2018-02-26 23.80
2018-02-23 23.88
2018-02-22 23.25
2018-02-14 22.49
sub(other)
2 논리 연산
2.1 논리 연산 기호
예 를 들 어 data["open"]>23 의 날짜 데 이 터 를 선별 합 니 다.
data["open"]>23 논리 적 결 과 를 되 돌려 줍 니 다.

data["open"] > 23

2018-02-27  True
2018-02-26 False
2018-02-23 False
2018-02-22 False
2018-02-14 False

#                 
data[data["open"] > 23].head()

여러 논리 적 판단 을 완성 하고,

data[(data["open"] > 23) & (data["open"] < 24)].head()

2.2 논리 연산 함수
query(expr)
expr:검색 문자열
query 를 통 해 아까 의 과정 을 더욱 편리 하고 간단하게 만 들 었 습 니 다.

#       
data.query("open<24 & open>23").head()
isin(values)
예 를 들 어'open'이 23.53 과 23.85 인지 판단 하 는 것 이다.

#            ,        
data[data["open"].isin([23.53, 23.85])]

3 통계 연산
3.1 describe
종합 분석:많은 통계 결 과 를 직접 얻 을 수 있다.count,mean,std,min,max 등

#      、   、   、   
data.describe()

3.2 통계 함수
Numpy 에서 상세 하 게 소개 되 었 습 니 다.여기 서 min(최소 값),max(최대 값),mean(평균 값),median(중위),var(분산),std(표준 차이),mode(중수)결 과 를 보 여 드 리 겠 습 니 다.

단일 함수 에 대해 통 계 를 할 때 좌표 축 은 기본 열 인'columns'(axis=0,default)에 따라 줄'index'를 지정 해 야 합 니 다(axis=1).
max()、min()

#       :0       , 1         
data.max(0)

open     34.99
high     36.35
close     35.21
low     34.01
volume    501915.41
price_change   3.03
p_change    10.03
turnover    12.56
my_price_change   3.41
dtype: float64
std()、var()

#   
data.var(0)

open    1.545255e+01
high    1.662665e+01
close    1.554572e+01
low    1.437902e+01
volume    5.458124e+09
price_change  8.072595e-01
p_change   1.664394e+01
turnover   4.323800e+00
my_price_change 6.409037e-01
dtype: float64

#    
data.std(0)

open     3.930973
high     4.077578
close     3.942806
low     3.791968
volume    73879.119354
price_change   0.898476
p_change    4.079698
turnover    2.079375
my_price_change  0.800565
dtype: float64
median():중위 수
중위 수 는 데 이 터 를 작은 것 에서 큰 것 으로 배열 하고 가장 중간 에 있 는 것 은 중위 수 이다.중간 수가 없 으 면 중간 두 수의 평균 치 를 취한 다.

df = pd.DataFrame({'COL1' : [2,3,4,5,4,2],
     'COL2' : [0,1,2,3,4,2]})

df.median()

COL1 3.5
COL2 2.0
dtype: float64
idxmax()、idxmin()

#         
data.idxmax(axis=0)

open    2015-06-15
high    2015-06-10
close    2015-06-12
low    2015-06-12
volume    2017-10-26
price_change  2015-06-09
p_change   2015-08-28
turnover   2017-10-26
my_price_change 2015-07-10
dtype: object


#         
data.idxmin(axis=0)

open    2015-03-02
high    2015-03-02
close    2015-09-02
low    2015-03-02
volume    2016-07-06
price_change  2015-06-15
p_change   2015-09-01
turnover   2016-07-06
my_price_change 2015-06-15
dtype: object
3.3 누적 통계 함수

그럼 이 누적 통계 함 수 는 어떻게 사용 합 니까?

이 함수 들 은 series 와 dataframe 을 조작 할 수 있 습 니 다.
여 기 는 저희 가 시간 에 맞 춰 서 가서 누적 을 해 보도 록 하 겠 습 니 다.
정렬

#     ,      
data = data.sort_index()
대 pchange 진행

stock_rise = data['p_change']
# plot          、   、  、   
stock_rise.cumsum()

2015-03-02  2.62
2015-03-03  4.06
2015-03-04  5.63
2015-03-05  7.65
2015-03-06  16.16
2015-03-09  16.37
2015-03-10  18.75
2015-03-11  16.36
2015-03-12  15.03
2015-03-13  17.58
2015-03-16  20.34
2015-03-17  22.42
2015-03-18  23.28
2015-03-19  23.74
2015-03-20  23.48
2015-03-23  23.74
그렇다면 어떻게 이 연속 구 화의 결 과 를 더욱 잘 나 타 낼 수 있 습 니까?

plot 함 수 를 사용 하려 면 matplotlib 를 가 져 와 야 합 니 다.

import matplotlib.pyplot as plt
# plot    
stock_rise.cumsum().plot()
#     show,       
plt.show()
plot 에 대해 서 는 잠시 후 API 선택 을 소개 합 니 다.
4 사용자 정의 연산
apply(func, axis=0)
사용자 정의 함수
  • axis=0:기본 값 은 열 이 고 axis=1 은 줄 로 연산 합 니 다
  • 열,최대 값-최소 값 의 함 수 를 정의 합 니 다.
    
    data[['open', 'close']].apply(lambda x: x.max() - x.min(), axis=0)
    
    open  22.74
    close 22.85
    dtype: float64
    여기 서 pandas DataFrame 연산 의 실현 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 pandas DataFrame 연산 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기