팬더에서 데이터 프레임의 처음 세 행을 삭제해야합니다.
df.ix[:-1]
마지막 행을 제거한다는 것을 알고 있지만 첫 번째 n 행을 제거하는 방법을 알 수 없습니다.
팬더에서 데이터 프레임의 처음 세 행을 삭제해야합니다.
df.ix[:-1]
마지막 행을 제거한다는 것을 알고 있지만 첫 번째 n 행을 제거하는 방법을 알 수 없습니다.
답변:
groupby()
있습니까? 이것은 작동하지만 인덱스에서 중복 열을 반환합니다df=pd.DataFrame({'v':np.arange(10).tolist()*2,'g':['a']*10+['b']*10});df.groupby('g').apply(lambda x: x.iloc[3:])
df=df.iloc[3:9]
?
pd.concat()
. 같은 것 df2 = pd.concat([df.iloc[:3],df.iloc[10:]])
.
더 명확한 방법은 drop을 사용하는 것입니다.
구문은 다음과 같습니다.
df.drop(label)
그리고 @tim과 @ChaimG가 지적한 것처럼, 이것은 제자리에서 수행 할 수 있습니다.
df.drop(label, inplace=True)
이를 구현하는 한 가지 방법은 다음과 같습니다.
df.drop(df.index[:3], inplace=True)
그리고 다른 "제자리에"사용 :
df.drop(df.head(3).index, inplace=True)
drop
추가 할당없이 현장에서 계산할 수도 있습니다. 더 빠르고 간단합니다!
df.drop(label, inplace=True)
파이썬 슬라이싱을 사용할 수 있지만 제자리에 있지는 않습니다.
In [15]: import pandas as pd
In [16]: import numpy as np
In [17]: df = pd.DataFrame(np.random.random((5,2)))
In [18]: df
Out[18]:
0 1
0 0.294077 0.229471
1 0.949007 0.790340
2 0.039961 0.720277
3 0.401468 0.803777
4 0.539951 0.763267
In [19]: df[3:]
Out[19]:
0 1
3 0.401468 0.803777
4 0.539951 0.763267
pandas
무엇을 의미하지 않습니까?
header=3
생성자 인수를 사용하여 해당 행을 헤더 행으로 설정할 수 있습니다 . stackoverflow.com/a/51822697/191246