Workspace
Pawel Walenda/

Course notes: Intermediate Python for Finance

0
Beta
Spinner

Course Notes

Use this workspace to take notes, store code snippets, or build your own interactive cheatsheet! For courses that use data, the datasets will be available in the datasets folder.

Pandas Dataframe

Creating DataFrames

import pandas as pd
  • Create a dictionary with the exact column names holding the Apple data.
  • Create a DataFrame using the dictionary.
# Create dict holding the data
data = {'Sym': ['APPL', 'APPL', 'APPL'],
        'Price': [105.00, 117.05, 289.80],
        'Date': ['2015/12/31', '2017/12/01', '2019/12/27']}

# Create DataFrame from the data
positions = pd.DataFrame(data=data)
print(positions)
  • Create a list of dictionaries with the position data.
  • Create a DataFrame using the list.
# Make list of dictionaries
data = [{'Sym': 'APPL', 'Price': 105.00, 'Date': '2015/12/31'},
        {'Sym': 'APPL', 'Price': 117.05, 'Date': '2017/12/01'},
        {'Sym': 'APPL', 'Price': 289.80, 'Date': '2019/12/27'}]

# Create DataFrame from the list
positions = pd.DataFrame(data=data)
print(positions)
  • Create a list of lists representing the positions data.
  • Define the column names.
  • Create a DataFrame from the data.
# Create a list of lists
data = [['APPL', 105.00, '2015/12/31'],
        ['APPL', 117.05, '2017/12/01'],
        ['APPL', 289.80, '2019/12/27']]

# Define the column names
columns = ['Sym', 'Price', 'Date']

# Create a DataFrame with the data and column names
df = pd.DataFrame(data=data, columns=columns)
print(df)

Reading market history

# Read the data
stocks = pd.read_csv('datasets/HistoricalQuotes.csv')

# Look at the data
print(stocks)

Accessing Data

Introducing lesson data

import pandas as pd

data = [
    ['a', 'BA', 'ajfdk2', 1222.00],
    ['b', 'AAD', '1234nmk', 390789.11],
    ['c', 'BA', 'mm3d90', 13.02]
]

accounts = pd.DataFrame(data, columns=['', 'Bank Code', 'Account#', 'Balance'])
accounts = accounts.set_index('')

display(accounts)

Access columns

# Accesss column using brackets

accounts['Balance']
# Accesss column using dot syntax

accounts.Balance
# Access multiple columns

accounts[['Bank Code', 'Account#']]

Access rows

accounts[0:2]
accounts[[True, False, True]]

loc and iloc:

  • loc access by name
  • iloc access by position