Учитывая следующие таблицы из CSV-файлов:Панды Слияние SingleIndex в мультииндексных из CSV
CSV 1:
A B C
AA BB1 BB2 CC
0 1 text 5 7
1 2 text2 6 8
2 3 text3 7 9
в панд:
import pandas as pd
mi=pd.read_csv('csv_to_mi.csv',header=[0,1],encoding='latin-1')
mi = mi.rename(columns={'Unnamed: 2_level_0':'B'})
mi
A B C
AA BB1 BB2 CC
0 1 text 5 7
1 2 text2 6 8
2 3 text3 7 9
CSV 2:
A D E
text T1 9
text2 T2 10
text3 T3 11
in Pandas:
si=pd.read_csv('csv_to_si.csv',encoding='latin-1')
si
A D E
0 text T1 9
1 text2 T2 10
2 text3 T3 11
Я хочу, чтобы объединить их на m1 [ 'B', 'ВВ1'] и s1 [ 'A'], чтобы получить это (или функциональный мульти-индексируется кадра данных):
A B C D E
AA BB1 BB2 CC
0 1 text 5 7 T1 9
1 2 text2 6 8 T2 10
2 3 text3 7 9 T3 11
Я сделал что-то подобное раньше, и, похоже, все получилось хорошо, за исключением случаев, когда я попытался переименовать 2 столбца в фрейм данных слияния, и по какой-то причине он сбросил все остальные (не переименованные) столбцы. Я также пробовал прочитать мультииндексированный csv только с верхней строкой заголовка (как с одним индексом), слияние двух вместе, а затем сделать результат с несколькими индексами. Кажется, это работало, пока я не столкнулся с проблемой переименования.
Я попытался преобразовать одноиндексный фрейм данных в мультииндексированный фрейм данных сначала, per jezrael's sage advice (который работал хорошо), а затем объединился с мультииндексированным, но это тоже не сработало.
Заранее благодарен!
Под столбцами первого уровня 'D' и' E' могут быть 'CC' и 'CC'? – jezrael
К сожалению нет. Но они могут быть чем угодно (даже цифры, согласно вашему предыдущему решению, связанному с этим сообщением). –