Об'єднання даних з кількох аркушів

Імпорт і керування фінансовими даними в Python

Stefan Jansen

Instructor

Об'єднання DataFrame

  • Конкатенуйте або «стекуйте» список pd.DataFrame
  • Синтаксис: pd.concat([amex, nasdaq, nyse])

Таблиці NASDAQ, NYSE та AMEX з однаковими стовпцями

Імпорт і керування фінансовими даними в Python

Об'єднання DataFrame

  • Конкатенуйте або «стекуйте» список pd.DataFrame
  • Синтаксис: pd.concat([amex, nasdaq, nyse])

таблиці з axis = 0

Імпорт і керування фінансовими даними в Python

Об'єднання DataFrame

  • Конкатенуйте або «стекуйте» список pd.DataFrame
  • Синтаксис: pd.concat([amex, nasdaq, nyse])

три таблиці об'єднані в одну довгу таблицю

Імпорт і керування фінансовими даними в Python

Конкатенація двох DataFrame

amex = pd.read_excel('listings.xlsx',
                     sheet_name='amex', 
                     na_values=['n/a'])

nyse = pd.read_excel('listings.xlsx', sheet_name='nyse', na_values=['n/a'])
pd.concat([amex, nyse]).info()
Int64Index: 3507 entries, 0 to 3146
Data columns (total 7 columns):
 #   Column                 Non-Null Count  Dtype  
 --  ------                 --------------  -----  
 0   Stock Symbol           3507 non-null   object 
...
Імпорт і керування фінансовими даними в Python

Додайте референсний стовпець

amex['Exchange'] = 'AMEX' # Додайте стовпець для посилання на джерело
nyse['Exchange'] = 'NYSE'

listings = pd.concat([amex, nyse])
listings.head(2)
  Stock Symbol    ...      Exchange       
0         XXII    ...         AMEX    
1          FAX    ...         AMEX
Імпорт і керування фінансовими даними в Python

Об'єднайте три DataFrame

xls = pd.ExcelFile('listings.xlsx')

exchanges = xls.sheet_names
# Створіть порожній список для збору DataFrame listings = []
for exchange in exchanges: listing = pd.read_excel(xls, sheet_name=exchange) # Додайте референсний стовпець listing['Exchange'] = exchange # Додайте DataFrame до списку listings.append(listing)
# Список DataFrame combined_listings = pd.concat(listings)
Імпорт і керування фінансовими даними в Python

Об'єднайте три DataFrame

combined_listings.info()
Int64Index: 6674 entries, 0 to 3146
Data columns (total 8 columns):
 #   Column                 Non-Null Count  Dtype  
 --  ------                 --------------  -----  
 0   Stock Symbol           6674 non-null   object 
 1   Company Name           6674 non-null   object 
 2   Last Sale              6590 non-null   float64
 3   Market Capitalization  6674 non-null   float64
 4   IPO Year               2852 non-null   float64
 5   Sector                 5182 non-null   object 
 6   Industry               5182 non-null   object 
 7   Exchange               6674 non-null   object 
dtypes: float64(3), object(5)
Імпорт і керування фінансовими даними в Python

Давайте потренуємось!

Імпорт і керування фінансовими даними в Python

Preparing Video For Download...