[英]iterating through a list error
I have a dataframe,delf
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
then another dataframe,trex
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
another dataframe,dher
2.3.6ABC 2.3.6TAC
August 2 1
September 0 0
October 1 2
November 0 0
I want to get the distinct values in column: 'inp' of DELF which in this case is 4. Then, number of columns of TREX and DHER which is 3 and 2 in this case. 我想获取列中的不同值:DELF的“ inp”,在这种情况下为4。然后,TREX和DHER的列数在这种情况下为3和2。 How can I store the number of columns of the 2 dataframes,TREX and DHER, then getting the percentage TREX and DHER in df1. 如何存储2个数据帧的列数TREX和DHER,然后在df1中获取百分比TREX和DHER。 It should look like this: 它看起来应该像这样:
noOfColumn pct
TREX 3 3/4=75
DHER 2 2/4=50
I tried using this code: 我尝试使用此代码:
df_list = [TREX,DHER]
idx, v = [], []
for i, df in enumerate(df_list, 1):
idx.append('{}'.format())
v.append(len(df.columns))
then, 然后,
df = pd.DataFrame(v, index=idx, columns=['noOfColumn'])
df['pct'] = df['noOfColumn'] / DELF.inp.nunique()
Not giving me the right output 没有给我正确的输出
You can assign name to your df 您可以为df分配名称
TREX.name='TREX'
DHER.name='DHER'
df_list = [TREX,DHER]
idx, v = [], []
for i, df in enumerate(df_list, 1):
idx.append(df.name)
v.append(len(df.columns))
df = pd.DataFrame(v, index=idx, columns=['noOfColumn'])
df['pct'] = df['noOfColumn'] / DELF.inp.nunique()
df
Out[55]:
noOfColumn pct
TREX 3 0.75
DHER 2 0.50
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.