方案1:转化为虚数
万全ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
x=c[:,0]+c[:,1]*1j
print('转化为虚数:',x)
print('虚数去重后:',np.unique(x))
print(np.unique(x,return_index=True))#return_index:输出的元素索引值
idx=np.unique(x,return_index=True)[1]
print('二维数组去重:\n',c[idx])
#方案2:利用set
print('去重方案2:\n',np.array(list(set([tuple(t) for t in c]))))
df.drop_duplicates('item_name')
方法一:
df.drop_duplicates('item_name').count()
方法二:
df['item_name'].nunique()
结果:50
附:nunique()和unique()的区别:
unique()是以 数组形式(numpy.ndarray)返回列的所有唯一值(特征的所有唯一值)
nunique()即返回的是唯一值的个数
比如:df['item_name'].unique()
要求:将下表中经验列将按周统计的转换为经验不限,保留学历
df1['经验'] = df1['经验'].apply(lambda x: '经验不限'+ x[-2:] if '周' in x else x)
#解释:将‘5天/周6个月’变成‘经验不限’,然后保留学历‘本科’
方法二:定义函数
def dataInterval(ss):
if '周' in ss:
return '经验不限'+ ss[-2:]
return ss
df1['经验'] = df1['经验'].apply(dataInterval)
function
clear(arr)
{//
1
如何获取数组中每一个元素出现的次数var
o
=
{};
//
1.1
记录数组中元素出现的次数for
(var
i
=
0;
i
arr.length;
i++)
{var
item
=
arr[i];
//
数组中的每一个元素//
o[item]
=
1;//
1.2
判断o对象是否有当前遍历到的属性if
(o[item])
{//
如果o[item]
存在,说明次数不为1o[item]++;}
else
{//
如果o[item]
不存在,说明是第一次出现o[item]
=
1;}}//
console.log(o);
//
2
生成一个新的数组,存储不重复的元素var
newArray
=
[];//
2.1
遍历对象o中的所有属性for
(var
key
in
o)
{//
2.2
判断o对象中当前属性的值是否为
1
如果为1
说明不重复直接放到新数组中if
(o[key]
===
1)
{newArray.push(key);}
else
{//
o对象中当前属性
次数不为1
,说明有重复的,如果有重复的话,只存储一次//
判断当前的newArray数组中是否已经有该元素
if
(newArray.indexOf(key)
===
-1)
{newArray.push(key);}}}return
newArray;}
var
array
=
['c',
'a',
'z',
'a',
'x',
'a'];var
newArray
=
clear(array);console.log(newArray);
如:arr =['a','d','e','a']
用: arr= sorted(set(arr), key=arr.index)
同: arr = list(set(arr))
arr.sort(key=arr.index)
⚠️直接set(arr)也可以去除重复元素,只是新数组的顺序就不是原来的顺序了。
如:arr=[{'text':wuyuan,'value':1},{'text':默认,'value':2},{'text':默认,'value':2},
{'text':wyy,'value':4}]
用: f = lambda x,y:x if y in x else x + [y]
arr = reduce(f, [[], ] + arr)
⚠️这里去除的字典里面的键值对必须是完全一样的。