1. Pandas 数据分析常用设置:
import pandas as pdimport seaborn as snsimport matplotlibimport matplotlib.pyplot as plt%matplotlib inline# 指定默认字体matplotlib.rcParams['font.sans-serif'] = ['SimHei']matplotlib.rcParams['font.family']= 'sans-serif'# 解决负号’-‘显示为方块的问题matplotlib.rcParams['axes.unicode_minus'] = False
2. loc/iloc 和 at/iat 的区别:
loc/iloc 的参数可以是数组,比如 df.iloc[[0,1,2],[0,1,2]]。
而 at/iat 的参数只能是单个的 df.iat[0,1]
3. 字符串转换时间戳
# 秒pd.to_datetime('1970-01-01').value // 10 ** 9# 毫秒pd.to_datetime('1970-01-01').value // 10 ** 6# Series 转换data['ts'] = pd.to_datetime(cn_data['date_string']).apply(lambda x: (x.value // 10 ** 9))
4. 时间戳转日期对象
# 默认单位是纳秒 nanosecond 1s = 10**9 nspd.to_datetime(1593573950 * (10 ** 9))# 通过参数可以指定单位pd.to_datetime(1593573950, unit='s')pd.to_datetime(1593573950497, unit='ms')
5. 时间对象转字符串
df['time'].dt.strftime('%Y-%m')#以下是格式定义代码 说明%Y 4位数的年%y 2位数的年%m 2位数的月[01,12]%d 2位数的日[01,31]%H 时(24小时制)[00,23]%l 时(12小时制)[01,12]%M 2位数的分[00,59]%S 秒[00,61]有闰秒的存在%w 用整数表示的星期几[0(星期天),6]%F %Y-%m-%d简写形式例如,2017-06-27%D %m/%d/%y简写形式
6. 抽样
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
抽样数量
n: 行数
frac:按比例抽取 0.1 抽取 10%
抽样方式
replace: 是否为有放回抽样
7.类型转换
df['room'].astype(str)
8.文字提取
# 从 801 中提取楼层号 8df['floor'] = df['room'].astype(str).str.extract('(\d+)\d{2}')
