약 17000 행이있는 팬더 데이터 프레임이 있습니다.
각 데이터 프레임에 6000 행이 있도록 여기에서 작은 데이터 프레임을 만들고 싶습니다.
따라서
df1 = 6000 rows
df2 = 6000 rows
df3 = 5000 rows (remaining rows)
이것은 내 main_df를 슬라이스하여 수행 할 수 있습니다.
그러나이 작은 df를 만들면 내 램이 소비됩니다. main_df에서 직접 사용하는 방법이 있습니까?
실제로 작은 데이터 프레임을 생성하지 않고 슬라이스로
나는 당신이 만들 수 있다고 생각 MultiIndex
과 RangeIndex
바닥 부문 :
np.random.seed(100)
df = pd.DataFrame(np.random.randint(10, size=(100,5)), columns=list('ABCDE'))
#change 20 to 6000 in real data
df.index = [pd.RangeIndex(len(df.index)) // 20, df.index]
print (df)
A B C D E
0 0 8 8 3 7 7
1 0 4 2 5 2
2 2 2 1 0 8
3 4 0 9 6 2
4 4 1 5 3 4
5 4 3 7 1 1
6 7 7 0 2 9
7 9 3 2 5 8
8 1 0 7 6 2
9 0 8 2 5 1
10 8 1 5 4 2
11 8 3 5 0 9
12 3 6 3 4 7
13 6 3 9 0 4
14 4 5 7 6 6
15 2 4 2 7 1
16 6 6 0 7 2
17 3 5 4 2 4
18 3 7 9 0 0
19 5 9 6 6 5
1 20 6 4 7 3 9
21 2 3 8 7 1
22 5 9 3 0 6
...
...
다음으로 선택하십시오 xs
.
print (df.xs(0, axis=0, level=0))
A B C D E
0 8 8 3 7 7
1 0 4 2 5 2
2 2 2 1 0 8
3 4 0 9 6 2
4 4 1 5 3 4
5 4 3 7 1 1
6 7 7 0 2 9
7 9 3 2 5 8
8 1 0 7 6 2
9 0 8 2 5 1
10 8 1 5 4 2
11 8 3 5 0 9
12 3 6 3 4 7
13 6 3 9 0 4
14 4 5 7 6 6
15 2 4 2 7 1
16 6 6 0 7 2
17 3 5 4 2 4
18 3 7 9 0 0
19 5 9 6 6 5
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다