pandas DataFrame 연산 의 실현
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)
사용자 정의 함수
data[['open', 'close']].apply(lambda x: x.max() - x.min(), axis=0)
open 22.74
close 22.85
dtype: float64
여기 서 pandas DataFrame 연산 의 실현 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 pandas DataFrame 연산 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Pandas】DatetimeIndex란? no.29안녕하세요, 마유미입니다. Pandas에 대한 기사를 시리즈로 작성하고 있습니다. 이번은 제29회의 기사가 됩니다. 에서 Pandas의 시간에 대한 모듈에 대해 씁니다. 이번 기사에서는, 「DatetimeIndex」...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.