前后端的常用数据操作
# Python/JavaScript 常用数据操作
> - 1. Python
> - 2. JavaScript
::: hljs-center
|方法|功能|例子(Python)|例子(JavaScript )|
|-|-|-|-|
|split|将一列字符串分为多列|'nishi'.split('s', 3)|str.split(" ",3)|
|sorted|将列表数据进行排序|sorted([5, 2, 3, 1, 4])|arrayObj.sort()|
|str|将给定参数转为字符串|str()|(1237).toString()、String(12311)|
|int|将给定参数转为整数|int()|Number()|
|float|将给定参数转为浮点数|float()|Number()|
|bool|将给定参数转换为布尔值|bool(1)| Boolean()|
|list|将给定元组或字符串转为列表|list('wohuo')||
|dict(zip(list_key,list_value))|用映射函数来创建一个字典|dict(zip(['one', 'two', 'three'], [1, 2, 3]))|
|append|把一个元素添加到列表的结尾|list.append(x)|subSel.append(subOp)|
|concat|连接两个或多个数组||['a','b','c'].concat(['d','e','f'])|
|extend|通过添加指定列表的所有元素来扩充列表|list.extend(List)|extend(true,item,item1),item可以为字典类型;list.push(bzLike),其中list与bzlike都为对象|
|remove|删除列表中值为 x 的第一个元素|list.remove(x)|array.remove(0)|
|pop|从列表的指定位置移除元素,并将其返回|list.pop()|arrayObj.pop()|
|clear|移除列表中的所有项|list.clear()|mapObj.clear()|
|count|返回 x 在列表中出现的次数|list.count(x)|console.count()||
|reverse| 倒排列表中的元素 |list.reverse() |arrayObj.reverse()|
|copy|返回列表的浅复制|list.copy()|[1,2,3].slice()|
|deepcopy|返回列表的深复制|list.deepcopy()|Object.assign() |
|del| 从一个列表中按照索引而不是值来删除一个元素 |del a[0]|arrayObject.splice(0)|
|[ Expression for x in list if ... ] |列表推导式|[x**2 for x in list1 if x > 3]|[i ** 2 for (i of [1,2,3,4])]|
|[row[i] for row in matrix] for i in range(column)|嵌套列表解析|[row[i] for row in [[1, 2, 3], [3, 4, 5]] for i in range(3)]| |
|{for x in list1 if x in list2}|集合推导式|{x for x in 'abracadabra' if x not in 'abc'}||
|{x : Expression for x in tuple1} |字典推导创建表达式|{x: x**2 for x in (2, 4, 6)}| |
|map(function, list)|根据提供的函数对指定序列做映射|list(map(lambda x: x**2, [2, 4, 6]))|[2, 4, 6].map(function(i){return i**2;})|
|filter(function,list)|创建一个新数组,其结果是调用一个函数后过滤得的元素|filter(lambda x: x>3, [1, 2, 3, 4])|[2, 4, 6].filter(function(x){return x>3};}|
|min|返回给定参数的最小值|min(80, 100, 1000)|Math.min(0,-4,1,6,9) |
|max|返回给定参数的最大值|max(80, 100, 1000)|Math.max(0,-4,1,6,9)|
|abs|返回给定参数的绝对值|abs(-80)|Math.abs(-1)|
|isinstance|判断一个对象是否是一个已知的类型|isinstance('2',str)|typeof '我是字符串'=="string"|
|sum|对指定的序列进行求和运算|sum([0,1,2])|eval([0,1,3].join("+"))|
|len|返回对象的长度|len('lucky')|'lucky'.length|
|round|返回浮点数 x 的四舍五入值|round(123.52)|Math.round(0.68)|
|str.lower()|将字符串中所有的英文大写转化为小写|str.lower()|str.toLowerCase()|
|str.upper()|将字符串中所有的英文小写转化为大写|str.upper()|str.toUpperCase()|
:::
> - pandas数据操作
::: hljs-center
|方法|功能|例子|
|-|-|-|
|sum|计算各列的和|df.sum()|
|count|非NaN值的数量|df.count()|
|mean|求算数平均值|df.mean()|
|median|求算数中位数|df.median()|
|var|求数据的方差|df.var()|
|std|求数据的标准差|df.std()|
|corr|计算相关系数矩阵|df.corr()|
|cov|计算协方差|df.cov()|
|min|计算数据的最小值|df.min()|
|max|计算数据的最大值|df.max()|
|mode|计算众数,即频数最高的|df.mode()|
|quantile|计算分位数(0到1|df.quantile()|
|groupby|分组函数|df.groupyby()|
|cut|按特征的不同划分区间做分组|pandas.cut()|
|sort_value|按照任意一列或多列的数值进行排序|df.sort_values(by=['a','b'])|
|head|显示数据的前n行|df.head(6)|
|tail|显示数据的后n行|df.tail(6)|
|diff|计算数据的一阶差分|df.diff()|
|describe|返回的是DataFrame的汇总统计|df.describe()|
|contact|用于合并,其中a1表示要进行连接的列表数据,axis=1时表示横向对数据进行连接。axis=0或不指定时,表将数据竖向进行连接。a1中要连接的数据有几个则对应几个keys,设置keys是为了在数据连接以后区分每一个原始a1中的数据|pd.concat(a1,axis=1,keys=['1','2'])|
|append|将一行或多行的数据连接到一个DataFrame上|a.append(a[2:],ignore_index=True)|
|merge|并表,类似于SQL中的join,可分为内(inner)、左(left)、右(right)、外(outer)|pd.merge(a1, a2, on='key', how='left')|
|lambda函数|对数据应用函数,表示返回所有列中的XXX|a.apply(lambda x:x.max()-x.min())|
:::