gpt4 book ai didi

python - Pandas 修改数据集,使两个分类具有相同的值

转载 作者:行者123 更新时间:2023-11-30 09:56:39 25 4
gpt4 key购买 nike

我有一个数据集,其中包含真值和假值作为分类器。我有这个数据集的 DataFrame 表示。然而,该数据集的分类器真假值比例约为 30:70。理想情况下,两个分类器的比例都是 50 : 50。显示两个分类有多少个真值和假值,然后从数量最多的分类中删除一些数据行的最佳方法是什么?

例如 DF:

    Language    Trustworthy
en 0
du 0
li 0
tm 0
en 1
en 0
en 0
en 1
fr 0
en 1

理想情况下,我希望删除上述数据集中的 4 个,其可信值为 0。这只是我的数据集的一个非常小的子集。

最佳答案

您可以对列中的值进行分组,然后查看组中有多少个元素。

data = '''Language    Trustworthy
en 0
du 0
li 0
tm 0
en 1
en 0
en 0
en 1
fr 0
en 1'''

import pandas as pd
from StringIO import StringIO

df = pd.DataFrame.from_csv( StringIO(data), index_col=None, sep='\s+')

#--------------------------------------------------------------------

print df.groupby('Trustworthy').size()

'''
Trustworthy
0 7
1 3
dtype: int64
'''

for name, group in df.groupby('Trustworthy'):
print "name:", name, "| len:", len(group)

'''
name: 0 | len: 7
name: 1 | len: 3
'''
<小时/>

用 0 删除最后 4 行

df = df.drop( df[ df['Trustworthy'] == 0 ].tail(4).index )

print df

结果

  Language  Trustworthy
0 en 0
1 du 0
2 li 0
4 en 1
7 en 1
9 en 1

关于python - Pandas 修改数据集,使两个分类具有相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24893817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com