【任务一】企业收入的多样性
【题目描述】一个企业的产业收入多样性可以仿照信息熵的概念来定义收入熵指标:
I = − ∑ i p ( x i ) log ( p ( x i ) )其中 p ( x i ) 是企业该年某产业收入额占该年所有产业总收入的比重。在company.csv中存有需要计算的企业和年份,在company_data.csv中存有企业、各类收入额和收入年份的信息。现请利用后一张表中的数据,在前一张表中增加一列表示该公司该年份的收入熵指标 I 。
import pandas as pd
import numpy as np
df1 = pd.read_csv(r'C:\Users\zhoukaiwei\Desktop\任务1-3数据\【批量下载】Company_data等\我的资源\company.csv')
df1.head()
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
证券代码 | 日期 | |
---|---|---|
0 | #000007 | 2014 |
1 | #000403 | 2015 |
2 | #000408 | 2016 |
3 | #000408 | 2017 |
4 | #000426 | 2015 |
df2 = pd.read_csv(r'C:\Users\zhoukaiwei\Desktop\任务1-3数据\【批量下载】Company_data等\我的资源\company_data.csv')
df2.head()
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
证券代码 | 日期 | 收入类型 | 收入额 | |
---|---|---|---|---|
0 | 1 | 2008/12/31 | 1 | 1.084218e+10 |
1 | 1 | 2008/12/31 | 2 | 1.259789e+10 |
2 | 1 | 2008/12/31 | 3 | 1.451312e+10 |
3 | 1 | 2008/12/31 | 4 | 1.063843e+09 |
4 | 1 | 2008/12/31 | 5 | 8.513880e+08 |
【任务二】组队学习信息表的变换
【题目描述】请把组队学习的队伍信息表变换为如下形态,其中“是否队长”一列取1表示队长,否则为0 是否队长 队伍名称 昵称 编号 0 1 你说的都对队 山枫叶纷飞 5 1 0 你说的都对队 蔡 6 2 0 你说的都对队 安慕希 7 3 0 你说的都对队 信仰 8 4 0 你说的都对队 biubiu🙈🙈 20 ... ... ... ... ... 141 0 七星联盟 Daisy 63 142 0 七星联盟 One Better 131 143 0 七星联盟 rain 112 144 1 应如是 思无邪 54 145 0 应如是 Justzer0 58
filename=open(r'C:\Users\zhoukaiwei\Desktop\任务1-3数据\team.csv')
df = pd.read_csv(filename)
df.head()
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
所在群 | 队伍名称 | 队长编号 | 队长_群昵称 | 队员1 编号 | 队员_群昵称 | 队员2 编号 | 队员_群昵称.1 | 队员3 编号 | 队员_群昵称.2 | ... | 队员6 编号 | 队员_群昵称.5 | 队员7 编号 | 队员_群昵称.6 | 队员8 编号 | 队员_群昵称.7 | 队员9 编号 | 队员_群昵称.8 | 队员10编号 | 队员_群昵称.9 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Pandas数据分析 | 你说的都对队 | 5.0 | 山枫叶纷飞 | 6.0 | 蔡 | 7.0 | 安慕希 | 8.0 | 信仰 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
1 | Pandas数据分析 | 熊猫人 | 175.0 | 鱼呲呲 | 44.0 | Heaven | 37.0 | 吕青 | 50.0 | 余柳成荫 | ... | 25.0 | Never say never | 55.0 | K | 120.0 | Y. | 28.0 | X.Y.Q | 151.0 | swrong |
2 | Pandas数据分析 | 中国移不动 | 107.0 | Y's | 124.0 | ?? | 75.0 | Vito | 146.0 | 张小五 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
3 | Pandas数据分析 | panda | 11.0 | 太下真君 | 35.0 | 柚子 | 108.0 | My | 42.0 | 星星点灯 | ... | 157.0 | Zys | 158.0 | 不器 | 102.0 | 嘉平佑染 | NaN | NaN | NaN | NaN |
4 | Pandas数据分析 | 一路向北 | 13.0 | 黄元帅 | 15.0 | 化 | 16.0 | 未期 | 18.0 | 太陽光下 | ... | 23.0 | ?? | 169.0 | 听风 | 189.0 | Cappuccino | NaN | NaN | NaN | NaN |
5 rows × 24 columns
【任务三】美国大选投票情况
【题目描述】两张数据表中分别给出了美国各县(county)的人口数以及大选的投票情况,请解决以下问题:
1.有多少县满足总投票数超过县人口数的一半 2.把州(state)作为行索引,把投票候选人作为列名,列名的顺序按照候选人在全美的总票数由高到低排序,行列对应的元素为该候选人在该州获得的总票数 3.每一个州下设若干县,定义拜登在该县的得票率减去川普在该县的得票率为该县的BT指标,若某个州所有县BT指标的中位数大于0,则称该州为Biden State,请找出所有的Biden State
df1 = pd.read_csv(r'C:\Users\zhoukaiwei\Desktop\任务1-3数据\【批量下载】president_county_candidate等\county_population.csv')
df1.head()
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
US County | Population | |
---|---|---|
0 | .Autauga County, Alabama | 55869 |
1 | .Baldwin County, Alabama | 223234 |
2 | .Barbour County, Alabama | 24686 |
3 | .Bibb County, Alabama | 22394 |
4 | .Blount County, Alabama | 57826 |
df2 = pd.read_csv(r'C:\Users\zhoukaiwei\Desktop\任务1-3数据\【批量下载】president_county_candidate等\president_county_candidate.csv')
df2.head()
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
state | county | candidate | party | total_votes | won | |
---|---|---|---|---|---|---|
0 | Delaware | Kent County | Joe Biden | DEM | 44552 | True |
1 | Delaware | Kent County | Donald Trump | REP | 41009 | False |
2 | Delaware | Kent County | Jo Jorgensen | LIB | 1044 | False |
3 | Delaware | Kent County | Howie Hawkins | GRN | 420 | False |
4 | Delaware | New Castle County | Joe Biden | DEM | 195034 | True |