全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
5367 3
2018-06-09
比如说有如下numpy数组:
[['0','0','0','0','1','3','4','0','0'],
['0','0','0','0','1','3','6','0','0'],
['0','0','2','1','3','0','0','0','0'],
['0','0','2','3','3','0','0','0','0']]

如果对应下来的值全部为0,则删除这一列,比如说上面这个数组,最后得到的是
[['0','0','1','3','4'],
['0','0','1','3','6'],
['2','1','3','0','0'],
['2','3','3','0','0']]


请问一下不用循环,有没有什么更为简洁快捷一点的方法可以办到?或者说先把这个转成pandas的dataframe?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-6-14 14:16:44
import pandas as pd
import numpy as np
xxx=[['0','0','0','0','1','3','4','0','0'],
['0','0','0','0','1','3','6','0','0'],
['0','0','2','1','3','0','0','0','0'],
['0','0','2','3','3','0','0','0','0']]


yyy=pd.DataFrame(xxx)
yyy['A']=yyy[0]
uniquecount=yyy.pivot_table(yyy,index='A',aggfunc=lambda x: len(x.unique()))
del yyy['A']
zzz=yyy[np.where(uniquecount>1)[1]]

print yyy
print '=============='
print zzz
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-11-25 19:06:57
startyxf 发表于 2018-6-14 14:16
import pandas as pd
import numpy as np
xxx=[['0','0','0','0','1','3','4','0','0'],
请问,如果是numpy.ndarray中含数字0不是字符串,这样也可以吗?我运行了一下为空
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-11-25 19:18:38
startyxf 发表于 2018-6-14 14:16
import pandas as pd
import numpy as np
xxx=[['0','0','0','0','1','3','4','0','0'],
Empty DataFrame
Columns: []
Index: [0, 1, 2]
结果显示空,是原始数据问题吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群