Pandas: 두 번째 병합 μ‹œ λ¬΄μ‹œλ˜λŠ” 접미사

에 λ§Œλ“  2015λ…„ 02μ›” 10일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: pandas-dev/pandas

연속 병합 μž‘μ—…μœΌλ‘œ μ—¬λŸ¬ 데이터 ν”„λ ˆμž„μ„ λ³‘ν•©ν•˜λ €κ³  ν•˜λŠ”λ° μƒˆλ‘œ λ³‘ν•©λœ μ—΄ μ΄λ¦„μ˜ 이름에 접미사λ₯Ό μΆ”κ°€ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. λ‚΄ μ½”λ“œμ˜ λ‹¨μˆœν™”λœ 버전은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

from pandas import *
f0 = DataFrame(columns=['data'], data=[1,2,3], index=['a','b','c'])
f1 = DataFrame(columns=['data'], data=[4,5,6], index=['c','b','a'])
f2 = DataFrame(columns=['data'], data=[7,8,9], index=['a','c','b'])
merged = f0
merged = merged.merge(f1, left_index=True, right_index=True, suffixes=("_0", "_1"))
merged = merged.merge(f2, left_index=True, right_index=True, suffixes=("", "_2"))
print merged.columns

Python 2.7μ—μ„œ pandas 0.15.2λ₯Ό μ‚¬μš©ν•˜λ©΄ λ‹€μŒμ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

Index([u'data_0', u'data_1', u'data'], dtype='object')

λ‚΄κ°€ μ˜ˆμƒν–ˆλ˜ λ™μ•ˆ

Index([u'data_0', u'data_1', u'data_2'], dtype='object')
Reshaping Usage Question

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

당신은 단지 이것을 μ›ν•˜λŠ” 것 κ°™λ‚˜μš”?

In [45]: pd.concat([f0,f1,f2],axis=1,ignore_index=True)
Out[45]: 
   0  1  2
a  1  6  7
b  2  5  9
c  3  4  8

μ ‘λ―Έμ‚¬λŠ” 첫 번째 병합 후에 μ—†λŠ” 쀑볡 열이 μžˆλŠ” κ²½μš°μ—λ§Œ μ μš©λ©λ‹ˆλ‹€(μ„Έ λ²ˆμ§Έμ™€ 비ꡐ할 λ•Œ)

In [46]: merged1 = merged.merge(f1, left_index=True, right_index=True, suffixes=("_0", "_1"))

In [47]: merged1
Out[47]: 
   data_0  data_1
c       3       4
b       2       5
a       1       6

In [48]: merged1.merge(f2, left_index=True, right_index=True, suffixes=("", "_2"))
Out[48]: 
   data_0  data_1  data
a       1       6     7
c       3       4     8
b       2       5     9

λͺ¨λ“  3 λŒ“κΈ€

당신은 단지 이것을 μ›ν•˜λŠ” 것 κ°™λ‚˜μš”?

In [45]: pd.concat([f0,f1,f2],axis=1,ignore_index=True)
Out[45]: 
   0  1  2
a  1  6  7
b  2  5  9
c  3  4  8

μ ‘λ―Έμ‚¬λŠ” 첫 번째 병합 후에 μ—†λŠ” 쀑볡 열이 μžˆλŠ” κ²½μš°μ—λ§Œ μ μš©λ©λ‹ˆλ‹€(μ„Έ λ²ˆμ§Έμ™€ 비ꡐ할 λ•Œ)

In [46]: merged1 = merged.merge(f1, left_index=True, right_index=True, suffixes=("_0", "_1"))

In [47]: merged1
Out[47]: 
   data_0  data_1
c       3       4
b       2       5
a       1       6

In [48]: merged1.merge(f2, left_index=True, right_index=True, suffixes=("", "_2"))
Out[48]: 
   data_0  data_1  data
a       1       6     7
c       3       4     8
b       2       5     9

μ•„ μ„€λͺ… κ°μ‚¬ν•©λ‹ˆλ‹€. 접미사가 μ€‘λ³΅λœ μ—΄ μ΄λ¦„μ—λ§Œ μ μš©λœλ‹€λŠ” 사싀을 λ†“μ³€μŠ΅λ‹ˆλ‹€. 그리고 μ‹€μ œλ‘œ concat μ†”λ£¨μ…˜μ΄ 더 κ°„λ‹¨ν•©λ‹ˆλ‹€. 그리고 기둝을 μœ„ν•΄: concat(... ignore_index=True) 은 λ‚΄κ°€ μ›ν•˜λŠ” 것과 μ •ν™•νžˆ λ°˜λŒ€μ΄μ§€λ§Œ concat(... ignore_index=False) 을 μ‚¬μš©ν•˜λ©΄ 잘 μž‘λ™ν•©λ‹ˆλ‹€.

gr8

일반적으둜 쀑볡 열을 μ›ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 점에 μœ μ˜ν•˜μ‹­μ‹œμ˜€.

닀쀑 μˆ˜μ€€ κ²°κ³Όλ₯Ό 원할 수 μžˆμŠ΅λ‹ˆλ‹€. keys 인수λ₯Ό μ‚¬μš©ν•˜μ—¬ μ—°κ²°

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰