目录
内置方法
- 返回出现次数最多的元素
a = [1,2,3,1,2,3,2,2,4,5,1]
max(set(a), key=a.count)
- repr、eval
repr:返回对象的字符串形式
eval:字符串转对象
- xrange
通过 iterable 对象来迭代
for i in range(1000): pass
会导致生成一个 1000 个元素的 List,而代码:
for i in xrange(1000): pass
则不会生成一个 1000 个元素的 List,而是在每次迭代中返回下一个数值,内存空间占用很小。因为 xrange 不返回 List,而是返回一个 iterable 对象。
-
dict通过value找key
-
拼接2个set,迭代输出
import itertools
a = set([1,2,3])
b = set([3,4,5])
[i for i in itertools.chain(a,b)]
Numpy
- np.ravel、np.flatten
ravel不会产生源数据的副本,flatten会返回源数据的副本。
-
np.meshgrid
类似笛卡尔积
rg = range(10)
np.meshgrid(rg,rg)
Pandas
-
转换df的某一列
import re
feat_import = pd.read_csv('./feat_importance.csv')
feat_import['name'] = feat_import['name'].transform(lambda x: int(re.match(r'Column_(\d+)', x).group(1)))
feat_import[feat_import['importance']==0]['name'].values
- 修改列名
a.rename(columns={'A':'a', 'B':'b', 'C':'c'}, inplace = True)
- 将df中的column列作为index
df.set_index(["Column"], inplace=True)
- 还原索引——reset_index
reset_index可以还原索引,从新变为默认的整型索引 。
DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill=”)
level控制了具体要还原的那个等级的索引;
drop为False则索引列会被还原为普通列,否则会丢失。
其他
- 日期格式转换
from datetime import datetime
df.date = df.date.apply(lambda v: datetime.strptime(v, '%Y年%m月%d日'))