dirty-data.csv 里边的数据内容

员工ID,姓名,部门,入职日期,年龄,月薪,月度业绩,考勤天数,学历,在职状态
1001,张三,技术部,2020-03-15,28,8500,12000,22,本科,是
1002,李四,市场部,2021/05/20,35,9800,--,20,硕士,是
1003,王五,,2022-01-08,,7600,8500,18,大专,否
1004,赵六,销售部,2020.11.30,42,12000,25000,25,本科,1
1005,,技术部,2023-07-12,26,6800,NaN,23,本科,是
1006,孙七,市场部,2021-09-05,31,8900,9800,-5,硕士,是
1007,周八,销售部,,33,10500,18000,21,大专,否
1008,吴九,技术部,2022/06/18,29,9200,15000,24,n/a,是
1009,郑十,行政部,2023-02-20,58,7300,6500,19,本科,是
1010,钱十一,市场部,2020-12-03,36,11000,13000,22,博士,否
1011,冯十二,销售部,2021.04.15,,9500,21000,26,本科,是
1012,陈十三,技术部,2022-08-25,27,7900,10000,23,大专,0
1013,褚十四,,2023-03-10,34,8200,9200,,本科,是
1014,卫十五,行政部,2021/10/18,45,6500,5800,17,硕士,是
1015,蒋十六,销售部,2020-06-22,38,13500,30000,24,本科,否
1016,沈十七,市场部,2022.03.05,29,8600,7500,21,大专,是
1017,韩十八,技术部,,32,9800,14000,22,本科,是
1018,杨十九,销售部,2023-05-18,40,11500,23000,25,硕士,是
1019,朱二十,行政部,2021-02-12,52,7800,6200,19,本科,否
1020,秦二十一,市场部,2022-11-08,33,9100,8800,20,博士,是

pd.read_csv 读取数据

# 读取数据
import pandas as pd
df = pd.read_csv('./dirty-data.csv')
# 显示csv 里边的所有的数据
df

员工ID 姓名 部门 入职日期 年龄 月薪 月度业绩 考勤天数 学历 在职状态
0 1001 张三 技术部 2020-03-15 28.0 8500 12000 22.0 本科
1 1002 李四 市场部 2021/05/20 35.0 9800 -- 20.0 硕士
2 1003 王五 NaN 2022-01-08 NaN 7600 8500 18.0 大专
3 1004 赵六 销售部 2020.11.30 42.0 12000 25000 25.0 本科 1
4 1005 NaN 技术部 2023-07-12 26.0 6800 NaN 23.0 本科
5 1006 孙七 市场部 2021-09-05 31.0 8900 9800 -5.0 硕士
6 1007 周八 销售部 NaN 33.0 10500 18000 21.0 大专
7 1008 吴九 技术部 2022/06/18 29.0 9200 15000 24.0 NaN
8 1009 郑十 行政部 2023-02-20 58.0 7300 6500 19.0 本科
9 1010 钱十一 市场部 2020-12-03 36.0 11000 13000 22.0 博士
10 1011 冯十二 销售部 2021.04.15 NaN 9500 21000 26.0 本科
11 1012 陈十三 技术部 2022-08-25 27.0 7900 10000 23.0 大专 0
12 1013 褚十四 NaN 2023-03-10 34.0 8200 9200 NaN 本科
13 1014 卫十五 行政部 2021/10/18 45.0 6500 5800 17.0 硕士
14 1015 蒋十六 销售部 2020-06-22 38.0 13500 30000 24.0 本科
15 1016 沈十七 市场部 2022.03.05 29.0 8600 7500 21.0 大专
16 1017 韩十八 技术部 NaN 32.0 9800 14000 22.0 本科
17 1018 杨十九 销售部 2023-05-18 40.0 11500 23000 25.0 硕士
18 1019 朱二十 行政部 2021-02-12 52.0 7800 6200 19.0 本科
19 1020 秦二十一 市场部 2022-11-08 33.0 9100 8800 20.0 博士
# nrows 只读取3行数据
df = pd.read_csv('./dirty-data.csv',nrows=3,)
df
员工ID 姓名 部门 入职日期 年龄 月薪 月度业绩 考勤天数 学历 在职状态
0 1001 张三 技术部 2020-03-15 28.0 8500 12000 22 本科
1 1002 李四 市场部 2021/05/20 35.0 9800 -- 20 硕士
2 1003 王五 NaN 2022-01-08 NaN 7600 8500 18 大专
# nrows 只读取3行数据 usecols=[0,1,2] 选择 列的下标 是0,1,2的列
df = pd.read_csv('./dirty-data.csv',nrows=3,usecols=[0,1,2])
df
员工ID 姓名 部门
0 1001 张三 技术部
1 1002 李四 市场部
2 1003 王五 NaN
# header=None 表示标题也算数据的一部分
df = pd.read_csv('./dirty-data.csv',nrows=3,usecols=[0,1,2],header=None)
df
0 1 2
0 员工ID 姓名 部门
1 1001 张三 技术部
2 1002 李四 市场部
# skiprows=1 跳过第一行,再取3条数据
df = pd.read_csv('./dirty-data.csv',nrows=3,usecols=[0,1,2],header=None,skiprows=1)
df
0 1 2
0 1001 张三 技术部
1 1002 李四 市场部
2 1003 王五 NaN

df.head(5)开头几行


df = pd.read_csv('./dirty-data.csv')
# 显示前5行数据
df.head(5)
员工ID 姓名 部门 入职日期 年龄 月薪 月度业绩 考勤天数 学历 在职状态
0 1001 张三 技术部 2020-03-15 28.0 8500 12000 22.0 本科
1 1002 李四 市场部 2021/05/20 35.0 9800 -- 20.0 硕士
2 1003 王五 NaN 2022-01-08 NaN 7600 8500 18.0 大专
3 1004 赵六 销售部 2020.11.30 42.0 12000 25000 25.0 本科 1
4 1005 NaN 技术部 2023-07-12 26.0 6800 NaN 23.0 本科

df.tail(5) 显示后几行

# 显示后5行数据
df.tail(5)
员工ID 姓名 部门 入职日期 年龄 月薪 月度业绩 考勤天数 学历 在职状态
15 1016 沈十七 市场部 2022.03.05 29.0 8600 7500 21.0 大专
16 1017 韩十八 技术部 NaN 32.0 9800 14000 22.0 本科
17 1018 杨十九 销售部 2023-05-18 40.0 11500 23000 25.0 硕士
18 1019 朱二十 行政部 2021-02-12 52.0 7800 6200 19.0 本科
19 1020 秦二十一 市场部 2022-11-08 33.0 9100 8800 20.0 博士

df.shape显示行列数

# 显示数据有 几行几列
df.shape
(20, 10)

df.columns.values获取列名

# 显示数据所有的列名
df.columns.values
array(['员工ID', '姓名', '部门', '入职日期', '年龄', '月薪', '月度业绩', '考勤天数', '学历',
       '在职状态'], dtype=object)

df.info()显示简要信息:

index、列名、每列非空值数量、每列数据类型
df占用内存

# 显示 DataFrame 的简要信息,包括列名、数据类型、非空值数量等
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10 entries, 0 to 9
Data columns (total 7 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   物业编号    9 non-null      float64
 1   街道门牌号   8 non-null      float64
 2   街道名称    10 non-null     object 
 3   是否自住    9 non-null      object 
 4   卧室数量    8 non-null      object 
 5   浴室数量    9 non-null      object 
 6   房屋面积    9 non-null      object 
dtypes: float64(2), object(5)
memory usage: 688.0+ bytes

df.describe()展示数据统计量

函数主要展示每个数值列的计数、平均值、标准差、最小值、第25百分位、中位数、第75百分位和最大值。
percentiles:指定要包括的其他百分位数,例如percentiles=[.25, .5, .75]将返回第一、第二和第三四分位数。
include:指定要包括的数据类型,默认为’all’,可以设置为’all’, ‘nums’, 或 ‘object’。
exclude:指定要排除的数据类型。

df.describe(include='all')

物业编号 街道门牌号 街道名称 是否自住 卧室数量 浴室数量 房屋面积
count 9.000000e+00 8.000000 10 9 8 9 9
unique NaN NaN 10 3 5 5 7
top NaN NaN 和平路 3 1 950
freq NaN NaN 1 5 3 4 2
mean 1.000056e+08 194.875000 NaN NaN NaN NaN NaN
std 3.205897e+03 37.471656 NaN NaN NaN NaN NaN
min 1.000010e+08 104.000000 NaN NaN NaN NaN NaN
25% 1.000030e+08 200.000000 NaN NaN NaN NaN NaN
50% 1.000060e+08 205.000000 NaN NaN NaN NaN NaN
75% 1.000080e+08 213.500000 NaN NaN NaN NaN NaN
max 1.000100e+08 219.000000 NaN NaN NaN NaN NaN
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐