本期,我们从kaggle上拿到一个数据集:2023美国财富1000强的公司,我这里放个链接,大家拿去下载:链接:https://pan.baidu.com/s/1A8TbnQccFovdgF4NDD3pvw提取码:6666
一、看看数据集的样子我们用pandas打开下载的csv文件,
import numpy as np import pandas as pd import seaborn as snsimport matplotlib.pyplot as plt df = pd.read_csv('fortune1000_2023.csv')df
如下图:
1000行、31列的数据表,具体列情况可以用如下语句查看:
df.info()
这里面包含了排名、公司名、股票代码、所属行业、公司CEO等等一系列信息,后面我们挑一些重点分开来进行分析。
二、数据清洗我们使用isnull语句来看一下每一列到底缺了多少数据?
df.isnull().sum()
可以看到,缺失值来自以下几列: Ticker,Growth_in_Jobs, Change_in_Rank,Gained_in_Rank, Dropped_in_Rank,Newcomer_to_the_Fortune500,MarketCap_March31_M,ProfitsPercentChange, MarketCap_Updated_M,CEO, Footnote, RevenuePercentChange。其中,缺失值最多的一列是Newcomer_to_the_Fortune500,缺了500个数据,我们有以下三种方法来处理缺失值:1. 扔掉这些缺失值所在的行列数据;2. 补充缺失数据;3. 用相关数据来推算出这些数据。考虑到Newcomer_to_the_Fortune500中有500个数据,如果扔掉的话,基本这个表就少了一半的数据,所以,我们根据这几列的数据类型来补充数据,具体代码如下:
#数字类型的 df['Change_in_Rank'] = df['Change_in_Rank'].fillna(0)df['MarketCap_March31_M'] = df['MarketCap_March31_M'].fillna(0)df['ProfitsPercentChange'] = df['ProfitsPercentChange'].fillna(0)df['MarketCap_Updated_M'] = df['MarketCap_Updated_M'].fillna(0)df['RevenuePercentChange'] = df['RevenuePercentChange'].fillna(0) #字符、对象类型的 df['Ticker'] = df['Ticker'].fillna('NA')df['Gained_in_Rank']=df['Gained_in_Rank'].fillna('NA')df['Dropped_in_Rank']=df['Dropped_in_Rank'].fillna('NA')df['Newcomer_to_the_Fortune500']=df['Newcomer_to_the_Fortune500'].fillna('NA')df['Growth_in_Jobs']=df['Growth_in_Jobs'].fillna('NA')df['CEO']=df['CEO'].fillna('NA')df['Footnote']=df['Footnote'].fillna('NA')df.isna().sum()
运行结果:
好了,数据清洗,补充数据完整了。三、公司及行业分析1. Top10的公司表内默认的排名就是从1到1000的排名,所以我们只需用
df.head(10)
就可以看到Top10的公司了,如下:
我们精确看一下这10家公司所属的行业:
df[['Rank','Company','Industry']].head(10)
这10家公司分别为:沃尔玛(一般采购)、亚马逊(互联网服务和零售)、埃克森美孚(石油精炼)苹果(计算机,办公设备)、联合健康保险(医疗保健: 保险和管理保健)、 CVS 健康(医疗保健: 制药和其他服务)、伯克希尔·哈撒韦(保险: 财产和伤亡(股票))、谷歌(互联网服务和零售)、麦克森(医疗保健)、雪佛龙(石油精炼)。2. 行业分析我们统计一下表内有多少个行业?
plot1=df['Industry'].value_counts()plot1
结果为:
74个不同的行业,行业数量前10为:
画个行业饼图
plt.figure(figsize=(25,25))plot1.plot( kind='pie')
数量最多的10大行业分别为:公用事业: 天然气和电力、商业银行、矿业、原油生产、专业零售商: 其他、化工企业、工业机械、互联网服务和零售商、房地产公司、半导体和其他电子元件、保险公司: 财产和伤亡(股票)。可以看到传统能源行业在Top1000企业中占比还是非常高的。
(未完待续~~~)