虽然之前有用过 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'))

在 jupyter notebook 里不小心把包含函数的代码块给删了...

import inspect
inspect.getsource(foo)

其他参考资料

标签: python, ds, pandas

添加新评论