【任务一】企业收入的多样性
【题目描述】一个企业的产业收入多样性可以仿照信息熵的概念来定义收入熵指标 :
其中 p(xi)是企业该年某产业收入额占该年所有产业总收入的比重。
在company.csv中存有需要计算的企业和年份 , 在company_data.csv中存有企业、各类收入额和收入年份的信息。现请利用后一张表中的数据 , 在前一张表中增加一列表示该公司该年份的收入熵指标I。
【任务二】组队学习信息表的变换
【题目描述】请把组队学习的队伍信息表变换为如下形态,其中’是否队长’一列取1表示队长,否则为0
莫名其妙版本就不兼容了,更新版本后把这边补上去
【任务三】美国大选投票情况
两张数据表中分别给出了美国各县(county)的人口数以及大选的投票情况,请解决以下问题:
-
. 有多少县满足总投票数超过县人口数的一半
-
把州(state)作为行索引,把投票候选人作为列名,列名的顺序按照候选人在全美的总票数由高到低排序,行列对应的元素为该候选人在该州获得的总票数
-
每一个州下设若干县,定义拜登在该县的得票率减去川普在该县的得票率为该县的BT指标,若某个州所有县BT指标的中位数大于0,则称该州为Biden
State,请找出所有的Biden State
下面展示一些 内联代码片
。
import pandas as pd
import numpy as pd
df1=pd.read_csv('C:\\Users\\GREAT GG\\Desktop\\learn_torch\xiaojiyu2\\president_county_candidate.csv')
df2=pd.read_csv('C:\Users\\GREAT GG\\Desktop\\learn_torch\\xiaojiyu2\\Company.csv')
下面展示一些 内联代码片
。
result=df1.pivot_table(index='state',columns='candidate',values='total_votes')
result.reindex(columns=columns)
下面展示一些 内联代码片
。
df1['县总票数']=df1.groupby(['state','county'])['total_votes'].transform('sum')
df1['县得票率']=df1['total_votes']/df1['县总票数']
df_bt=df1.pivot(index=['state','county'],columns='candidate',values='县得票率')
s_bt=df_bt['Joe Biden']-df_bt['Donald Trump']
df3=s_bt.to_frame()
result3=df3.rename(columns={0:'BT指标'}).reset_index()
def myfunc2(x):
if x.median()>0:
return 'Biden State'
else:
return 'Not Biden State'
result=result3.groupby('state')['BT指标'].transform(myfunc2)
result3[result=='Biden State']['state'].drop_duplicates().reset_index(drop=True)
下面展示一些 内联代码片
。
```#得到结果
California
Connecticut
Delaware
District of Columbia
Hawaii
Massachusetts
New Jersey
Rhode Island
Vermont
Name: state, dtype: object