Astropy and Pandas to load extrnal files.
In [ ]:
import os
In [ ]:
import numpy as np
from astropy.table import QTable
In [ ]:
os.listdir()
In [ ]:
planet_table = QTable.read('Planets.csv', format='ascii.csv')
In [ ]:
planet_table
In [ ]:
print(planet_table)
In [ ]:
planet_table.rename_column('col2', 'ecc')
print(planet_table)
In [ ]:
planet_table['Name']
In [ ]:
planet_table['Name'][0]
In [ ]:
planet_table.sort(['ecc'])
In [ ]:
planet_table
In [ ]:
planet_table.sort(['a']) # re-sort our table
In [ ]:
mask1 = np.where(planet_table['a'] > 5)
mask1
In [ ]:
planet_table[mask1]
In [ ]:
mask2 = ((planet_table['a'] > 5) &
(planet_table['ecc'] < 0.05))
planet_table[mask2]
In [ ]:
perihelion = planet_table['a'] * (1.0 - planet_table['ecc'])
In [ ]:
perihelion
In [ ]:
planet_table['Peri'] = perihelion
In [ ]:
planet_table
In [ ]:
planet_table.write('NewPlanets.csv', format='ascii.csv')
In [ ]:
os.listdir()
In [ ]:
import pandas as pd
In [ ]:
planet_table2 = pd.read_csv('Planets.csv')
In [ ]:
planet_table2
In [ ]:
print(planet_table2)
In [ ]:
planet_table2.rename(columns={'Unnamed: 2': 'ecc'}, inplace=True)
planet_table2
In [ ]:
planet_table2['Name']
In [ ]:
planet_table['Name'][0]
In [ ]:
planet_table2.sort_values(['ecc'])
In [ ]:
planet_table2
In [ ]:
planet_table2.sort_values(['ecc'], ascending=False)
In [ ]:
mask3 = planet_table['a'] > 5
mask3
In [ ]:
planet_table2[mask3]
In [ ]:
mask4 = ((planet_table2['a'] > 5) &
(planet_table2['ecc'] < 0.05))
planet_table2[mask4]
In [ ]:
perihelion = planet_table2['a'] * (1.0 - planet_table2['ecc'])
In [ ]:
perihelion
In [ ]:
planet_table2['Peri'] = perihelion
In [ ]:
planet_table2
In [ ]:
planet_table2.to_csv('NewPlanets2.csv', index=False)
In [ ]:
os.listdir()
In [ ]:
import datetime
In [ ]:
doctor_table = pd.read_csv('Doctor.csv')
In [ ]:
doctor_table
In [ ]:
doctor_table.sort_values(['BirthDate'])
In [ ]:
doctor_table['BirthDate'] = pd.to_datetime(doctor_table['BirthDate'])
In [ ]:
doctor_table.sort_values(['BirthDate'])
In [ ]:
today = datetime.date.today()
today
In [ ]:
age = today - doctor_table['BirthDate']
In [ ]:
age
In [ ]:
doctor_table['AgeToday'] = age / np.timedelta64(1, 'Y')
In [ ]:
doctor_table
In [ ]:
doctor_table.describe()
In [ ]:
messy_table = pd.read_csv('Mess.csv')
In [ ]:
messy_table = pd.read_csv('Mess.csv', skiprows = 6)
messy_table
NaN = Not_A_Number, python's null value
In [ ]:
messy_table = pd.read_csv('Mess.csv', skiprows = 6, header= None)
messy_table
In [ ]:
cols = ["Name", "Size"]
messy_table = pd.read_csv('Mess.csv', skiprows = 6, names = cols)
messy_table
In [ ]:
messy_table['Name'].fillna("unknown", inplace=True)
messy_table['Size'].fillna(999.0, inplace=True)
messy_table