2
考虑下面的代码:与大熊猫极为不平等分配的值删除列数据框
import numpy as np
import pandas as pd
arr = np.array([
[1,2,9,1,1,1],
[2,3,3,1,0,1],
[1,4,2,1,2,1],
[2,3,1,1,2,1],
[1,2,3,1,8,1],
[2,2,5,1,1,1],
[1,3,8,7,4,1],
[2,4,7,8,3,3]
])
# 1,2,3,4,5,6 <- Number of the columns.
df = pd.DataFrame(arr)
for _ in df.columns.values:
print {x: list(df[_]).count(x) for x in set(df[_])}
我想从数据框中删除所有在比列的所有其他值,就会发生一个值往往列一起。在这种情况下,我想删除第4列和第6列(请参阅评论),因为第1列出现的频率高于这些列中的所有其他数字(第4列中的6> 2和第6列中的7> 1)。我不想放弃第一列(4 = 4)。我会怎么做?
这看起来非常好,简洁,但为什么你将df.shape [0]除以2?我不明白这一步... – Ohumeronen
我的假设是,OP的兴趣在于整个df是否频繁出现一个值,而不是列明智 – EdChum
根据逻辑,*一个值比所有其他值的列一起*这意味着最频繁出现的值应该比所有其他值计数组合的计数少,因此不到总计数的一半。 – Psidom