文章目录
pandas求某列有多少种不同的数
df.cloumn.nunique()
df[column].nunique()
求众数
直接利用scipy下stats模块
from scipy import stats
stats.mode(nums)[0][0]
区间划分(pd.cut)
pd.cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False)
x:一维数组
bins:整数–将x划分为多少个等距的区间,序列–将x划分在指定序列中,若不在该序列中,则是Nan
right:是否包含右端点
labels:是否用标记来代替返回的bins
precision:精度
include_lowest:是否包含左端点
groupby()
[https://zhuanlan.zhihu.com/p/101284491?utm_source=wechat_session]
pandas mad()函数
Pandas dataframe.mad()函数返回所请求轴的值的平均绝对偏差。数据集的平均绝对偏差是每个数据点与平均值之间的平均距离。它使我们对数据集中的可变性有了一个了解。
DataFrame.mad(axis=None, skipna=None, level=None)
参数:
axis:{索引(0),列(1)}
skipna:计算结果时排除NA /空值
level:如果轴是MultiIndex(分层),则沿特定级别计数,并折叠为Series
numeric_only:仅包括float,int,boolean列。如果为None,将尝试使用所有内容,然后仅使用数字数据。未针对系列实施。
返回:mad:Series或DataFrame(如果指定级别)
sklearn feature_importance_
返回特征重要性,
array of shape = [n_features]: The feature importances (the higher, the more important).
iloc loc
iloc 通过行号来去,loc通过行索引的具体值(如取index为A的行)
pandas.DataFrame.copy
DateFrame.copy(deep=True)
复制object的索引和数据
当deep=True时(默认), 会创建一个新的对象进行拷贝. 修改这份拷贝不会对原有对象产生影响.
当deep=False时, 新的对象只是原有对象的references. 任何对新对象的改变都会影响到原有对象
pandas.Dataframe.corr(method=‘spearman’)代码效率极低,会占用大量资源
https://blog.csdn.net/weixin_44605402/article/details/104164181
pandas.Dataframe.corr(method=‘spearman’)和pandas.Dataframe.rank().corr(method=‘pearson’)是等价的,但是前者慢到了令人发指的地步
set合并、交集、差集
a | b 合并
a & b 交集
a - b 差集
plt.hist()
# bins如果是整数,那就是桶的数目, 如果是sequence(例如:[1,2,3,5]),那么就按sequence的数值范文划分
plt.hist(train_data['text_len'], bins=200)
TypeError: unhashable type: ‘list’
list 不使用 hash 值进行索引,故其对所存储元素没有可哈希的要求;set / dict 使用 hash 值进行索引,也即其要求欲存储的元素有可哈希的要求。
list原来是没有hash的,如果再set或者dict就会报错。
>>> set([[], [], []])
TypeError: unhashable type: 'list'
>>> set([{}, {}, {}])
TypeError: unhashable type: 'dict'
>>> set([set(), set(), set()])
TypeError: unhashable type: 'set'