機械学習・自然言語処理の勉強メモ

学んだことのメモやまとめ

Pandasで結合

使い方のメモ

df = pd.DataFrame(np.random.randn(50,2),columns = list("AB"))
c1 =  df[(df['A'] > 0.5)&(df['B'] > 0.5)]
c2 =  df[(df['A'] < 0)&(df['B'] < 0)]
x = pd.concat([c1, c2], ignore_index=True)

           A         B
0   1.471791  1.663181
1   1.484363  1.313088
2   1.459948  1.366574
3  -0.261177 -0.688677
4  -0.510304 -0.888285
5  -0.340348 -1.858572
6  -0.201098 -0.017489
7  -1.787912 -0.851740
8  -1.340735 -0.324020
9  -0.632164 -0.391573
10 -2.368496 -0.590684
11 -1.713002 -1.312851
12 -0.928410 -0.679983
13 -0.526311 -0.679531
14 -0.811427 -1.523259
15 -0.300994 -0.390611
16 -1.387647 -0.467041

indexが0~になる

x = pd.concat([c1, c2], ignore_index=False)

           A         B
3   1.471791  1.663181
28  1.484363  1.313088
38  1.459948  1.366574
4  -0.261177 -0.688677
13 -0.510304 -0.888285
17 -0.340348 -1.858572
21 -0.201098 -0.017489
22 -1.787912 -0.851740
27 -1.340735 -0.324020
29 -0.632164 -0.391573
30 -2.368496 -0.590684
31 -1.713002 -1.312851
35 -0.928410 -0.679983
37 -0.526311 -0.679531
43 -0.811427 -1.523259
44 -0.300994 -0.390611
47 -1.387647 -0.467041

indexは保持

series同士を結合してdataframeを作る。

import pandas as pd

sr1 = pd.Series([0.5, 0.8, 1.2])
sr2 = pd.Series([1.3, 2.3, 4.1])

df = pd.concat([sr1, sr2], axis=1)

     0    1
0  0.5  1.3
1  0.8  2.3
2  1.2  4.1

series型でnameを指定している場合、その名前が列名となる。