python 数据分析 - Padans 操作简记
虽然之前有用过 pandas + numpy 之类的工具做数据分析,但是一些比较常用的操作没有记录,加上自己也不够熟,大多时候还是要即用即查,这里把我最近常用到的操作和搜到的信息做一个汇总索引,方便查阅。
使用 padans 直接连接数据库
- pandas 使用 sqlalchemy 作为引擎连接各个数据库
- sqlalchemy 默认使用 pymysql 连接 mysql 数据库
import pandas as pd
import sqlalchemy
con = create_engine('mysql+pymysql://root:12345678@localhost:3306/testdb')
df = pd.read_sql_query("select * from test limit 1", con)
按行遍历 dataframe
for row in df.itertuples():
print((row.Index[0], row.col1, row.col2))
按索引/列排序
df.sort_values(by='col1', ascending=False)
df.sort_index()
MultiIndex 遍历
for name, new_df in df.groupby(level=0):
# dosomething with new df chunk
pass
时间序列作图格式化日期
import matplotlib.dates as mdates
ax = df.plot()
# set ticks
ax.xaxis.set_major_locator(mdates.DayLocator(interval=2))
# set format
ax.xaxis.set_major_formatter(mdates.DateFormatter('%m-%d'))
- https://matplotlib.org/stable/api/dates_api.html?highlight=weekdaylocator#matplotlib.dates.DayLocator
- https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
在 jupyter notebook 里不小心把包含函数的代码块给删了...
import inspect
inspect.getsource(foo)