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を指定している場合、その名前が列名となる。