列表、画图
* 成对
Zip-enumerate(序号-数值)
* 图形保存
plt.savefig('figpath.png', dpi=400, bbox_inches='tight')
Numpy
* 随机数
np.random. seed-RandomState-randn(, )- np.random.normal-
* 维度操作
np.arange(32).reshape((8, 4))
* 统计
data.shape-dtype-astype-math-maximum-isnan-cumsum
* 索引
data[~cond]
* 点乘
np.dot-x.dot(y)-inv(data)
* 网格
np.meshgrid
* 条件索引
np.where(arr > 0, 2, arr)(if 2 else 不变)
* 统计
np.mean-sort-unique (axis=0)
* 数据保存
np.save('some_array', arr)-np.load('some_array.npy')
Pandas:(新增列不能逐个赋值但可以一次性赋值)
* 列名
data. Index-columns.name- data.rename(index=str.title, columns=str.upper)
* match+数值转换
pd.Index(unique_vals).get_indexer(to_match)
* reindex
frame.reindex(columns=states)
* 删除
data.drop('two', axis=1)
* 索引
data.loc[1,’b’]-iloc-df.findall(pattern,item)-df.search(.,.)-result.group()
df['key1'].groupby(df['key2'])
* 函数映射
frame.apply(f)-
frame.applymap(format)-map(): data['food'].map(lambda x: ... meat_to_animal[x.lower()])
* 排序
frame.sort_index(axis=1)-
sort_values(by='b')
* 统计
df.math-describe()-cov-corr
obj.unique()-value_counts()-isnull()-dropna()-fillna(data.mean())
* 多分类文本转换为数字类
df.replace(cleanup_nums, inplace=True)( cleanup_nums可以是字典,例如= {"num_doors":{"four": 4, "two": 2}) obj_df["body_style"] = obj_df["body_style"].astype('category') .cat.codes(多分类文本转换为数字类)
* 去重
data.drop_duplicates(['k1', 'k2'], keep='last')
* 字符操作
data['index'].str.lower()(字符小写)
str.contains("ohc")(字符中包含)
* 分区间
pd.cut(data, 4, precision=2)(均分数据范围)- pd.qcut(data, [0, 0.1, 0.5,
0.9, 1.])(每段区间个数一致) df.sample(n=3)(随机取样行)
* 增加分类数对应的标签列
pd.get_dummies(df['key'], prefix='key')- pd.get_dummies(pd.cut(values, bins))(增加分类数对应的标签列,并且增加的标签列为多分类数字列[1,0,0,01,0],prefix改变命名方式)
* 合并
data.join- extend () pd.merge-join- concentrate- concat(axis=t)
* 按照类型选择
df.select_dtypes(include=['object'])—选择数据类型是object(文字)类型的列
* nan
data_val[data_val.isnull().any(axis=1)]—data_val存在nan值的所有行