【发布时间】:2020-03-15 08:47:50
【问题描述】:
我试图弄清楚如何将每个数据框列的计数与每个数据框列的计数进行比较。可以有超过 300 列,因此会有超过 300 X 300 = 超过 90,000 次比较。这是一些示例数据:
我试图弄清楚有多少 'AGE' 55 是女性,有多少 'AGE' 48 是男性,有多少男性是 'NP' D,等等。
这是我使用的代码的一部分:
df_search1 = pd.read_csv("file1.txt",sep='\t',
dtype=str,engine='c',header=0,encoding='latin-1')
items = ['AGE','NP','GENDER']
headr = True
for item1 in items:
headr = True
for item2 in items:
# appends
df_search1[(df_search1['%s'%item1].notnull()) & (df_search1['%s'%item2].notnull())]
[['%s'%item2]].count().to_csv('search_out.txt',header=headr,sep='\t',mode='a')
headr = False
我得到的结果是这样的:
第一个 'AGE'、'NP'、'GENDER' 在一行上(只是没有列名的计数);第二个'AGE','NP','GENDER'在下一行(只是没有列名的计数);第三个 'AGE'、'NP'、'GENDER' 在一行上(只是没有列名的计数)。
任何帮助将不胜感激。 谢谢
【问题讨论】: