/ / Pandas, як зводити два файли даних без втрати заголовків стовпців - python, pandas

Панда як concat два файли даних, не втрачаючи заголовки стовпців - python, pandas

У мене є наступний код іграшки:

 import pandas as pd
df = pd.DataFrame()
df["foo"] = [1,2,3,4]

df2 = pd.DataFrame()
df2["bar"]=[4,5,6,7]

df = pd.concat([df,df2], ignore_index=True,axis=1)
print(list(df))

Вихід: [0,1]
Очікуваний результат: [foo,bar] (замовлення не важливо)
Чи є спосіб об'єднання двох кадрів даних без втрати вихідних заголовків стовпців, якщо я можу гарантувати, що заголовки будуть унікальними?
Ітерація через колонки, а потім додавання їх до одного з DataFrames приходить на розум, але чи є функція панд, або concat параметр, про який я не знаю?

Дякую!

Відповіді:

3 для відповіді № 1

Як зазначено в об'єднати, приєднатися та звести Документація, індекс ігнорування видалить всі посилання на імена і використовуватиме діапазон (0 ... n-1). Таким чином, він повинен дати вам результат, який ви хочете, як тільки ви вилучите ignore_index аргумент або встановіть його в false (за замовчуванням).

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

Це приєднає ваші df і df2 на основі індексів (ті ж індексовані рядки будуть об'єднані, якщо інший фрейм не має члена цього індексу, він буде зв'язаний як nan).

Якщо у вас інша індексаціяданих, і хочете, щоб це було так. Можна або створити тимчасовий індекс, і приєднатися до нього, або встановити нові стовпці dataframe після використання concat (..., ignore_index = True).