目录
strftime('%y-%m-%d')与dt.date 时间
自然排序函数natsort
将1、10、2、33、4 排序为 1、2、4、10、33
import natsort as ns
ns.natsorted(num_list,reverse=True)
data.sort_values(day_cut,key=lambda val:np.argsort(index_natsorted(val)))
累积函数
cumsum、cumprod、cummax、cummin
计算序列中前n个数的累积 和、乘积、最大值、最小值
Isinstance查看一个对象是否是指定类的实例
if isinstance(num, int):
return int(num)
dropna 过滤NaN函数
对于dataframe:
df.drop() | 会丢弃掉 至少有一个NaN的行 |
df.drop(how='all') | 会丢弃掉 全部为NaN的行 |
df.dropna(axis=1,how='all') | 会丢弃掉 全部为NaN的列 |
df.dropna(axis=0,subset = [1]) | 会丢弃掉 "1"列中 有NaN的行 |
\
对于Series:默认丢弃含有缺失值的行。
%timeit 计时,查看语句运行时间
%timeit 运行语句
执行多次,取平均性能
Shuffle 把数据随机打散
Shuffle(df)
drop_duplicates去重详解
根据数据的不同情况及处理数据的不同需求,通常会分为两种情况,一种是去除完全重复的行数据,另一种是去除某几列重复的行数据,就这两种情况可用下面的代码进行处理。
1. 去除完全重复的行数据
data.drop_duplicates(inplace=True) (不需要重新赋值)
2. 去除某几列重复的行数据
data.drop_duplicates(subset=['A','B'],keep='first',inplace=True)
subset: 列名,可选,默认为None
keep: {‘first’, ‘last’, False}, 默认值 ‘first’
- first: 保留第一次出现的重复行,删除后面的重复行。
- last: 删除重复项,除了最后一次出现。
- False: 删除所有重复项。
inplace:布尔值,默认为False,是否直接在原数据上删除重复项或删除重复项后返回副本。(inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本。)
.values.tolist() 数组转列表
strftime('%y-%m-%d')与dt.date 时间
strftime(’%y-%m-%d’)、dt.date都可以将2020-02-02 14:01:01转化为2020-02-02,但如果有Nan值strftime(’%y-%m-%d’)将报错,dt.date不会报错。