【发布时间】:2018-01-12 03:21:46
【问题描述】:
我有一个数据框,df1
Date inp name
0 2017-08-07 2.3.6 ABC
1 2017-08-07 2.3.6 ABC
2 2017-08-08 2.3.6 TAC
3 2017-08-22 2.5.9 TTT
4 2017-09-23 0.8.0 TAC
5 2017-10-09 2.3.6 ABC
6 2017-10-09 2.3.6 TAC
7 2017-10-09 2.3.6 TAC
8 2017-10-23 0.8.0 TAC
9 2017-11-08 6.2.6 ABC
然后是另一个数据帧,df2
2.3.6ABC 2.3.6TAC 2.5.9TTT
August 2 1 0
September 0 0 0
October 1 2 0
November 0 0 1
另一个数据框,df3
2.3.6ABC 2.3.6TAC
August 2 1
September 0 0
October 1 2
November 0 0
我想获得列中的不同值:df1 的'inp',在本例中为 4。然后,df2 和 df3 的列数在本例中为 3 和 2。如何通过重命名索引将 2 个数据帧 df2 和 df3 的列数存储在新数据帧中,然后在 df1 中获取 df2 和 df3 的百分比。它应该是这样的:
noOfColumn pct
df2 as sat 3 3/4=75
df3 as nath 2 2/4=50
我已经无法超越这一点
st=pd.Dataframe(df1)
st=df['inp'].unique()
st2=st.count()
因为我不断收到这个:AttributeError: 'numpy.ndarray' object has no attribute 'count'
【问题讨论】:
-
count() 不是有效的方法。试试
len(st)或st.size