python怎么读取列表中的一个数据(python中从列表中读取数据)
Python读取Excel表格数据并以字典dict格式存储
??有时我们需要将一个 Excel表格文件 中的全部或一部分数据 导入到Python中 ,并将其通过 字典格式 来存储;那么如何实现上述操作呢?
??我们以如下所示的一个表格( .xlsx 格式)作为简单的示例。其中,表格共有两列,第一列为 学号 ,第二列为 姓名 ,且每一行的 学号 都不重复;同时表格的第一行为表头。
??假设我们需要将第一列的 学号 数据作为字典的 键 ,而第二列 姓名 数据作为字典的 值 。
??首先,导入必要的库。
??随后,列出需要转换为字典格式数据的Excel文件的路径与名称,以及数据开头所在行、数据的总行数。在这里,由于第一行是表头,因此开头所在行 look_up_table_row_start 就是 2 ;同时这个表格共有32位同学的信息,因此总行数 look_up_table_row_number 就是 32 。
??接下来,我们就可以直接依次读取Excel表格文件中的数据,并将其导入到字典格式的变量 name_number_dict 中。
??至此,大功告成啦~我们来看一看 name_number_dict 此时的状态:
??其中, Key 就是原本Excel中的 学号 , Value (就是右侧的马赛克区域)就是原本Excel中的 姓名 ;还可以从上图的标题中看到,这个字典共有32个 elements ,也就是对应着原本Excel中32位同学的信息。
python中如何将表中的数据做成一张表,然后再从中取出数据?
第一部分是生成数据表,常见的生成方法有两种,第一种是导入外部数据,第二种是直接写入数据。 Excel 中的文件菜单中提供了获取外部数据的功能,支持数据库和文本文件和页面的多种数据源导入。
获取外部数据
python 支持从多种类型的数据导入。在开始使用 python 进行数据导入前需要先导入 pandas 库,为了方便起见,我们也同时导入 numpy 库。
1 import numpy as np
2 import pandas as pd
导入数据表
下面分别是从 excel 和 csv 格式文件导入数据并创建数据表的方法。代码是最简模式,里面有很多可选参数设置,例如列名称,索引列,数据格式等等。感兴趣的朋友可以参考 pandas 的
官方文档。
1 df=pd.DataFrame(pd.read_csv(‘name.csv’,header=1))
2 df=pd.DataFrame(pd.read_excel(‘name.xlsx’))
创建数据表
另一种方法是通过直接写入数据来生成数据表,excel 中直接在单元格中输入数据就可以,python 中通过下面的代码来实现。生成数据表的函数是 pandas 库中的 DateFrame 函数,数据表一共有 6 行数据,每行有 6 个字段。在数据中我们特意设置了一些 NA 值和有问题的字段,例如包含空格等。后面将在数据清洗步骤进行处理。后面我们将统一以 DataFrame 的简称 df 来命名数据表。
1 df = pd.DataFrame({‘id’:[1001,1002,1003,1004,1005,1006],
2 ‘date’:pd.date_range(‘20130102’, periods=6),
3 ‘city’:['Beijing ', ‘SH’, ’ guangzhou ', ‘Shenzhen’, ‘shanghai’, 'BEIJING '],
4 ‘age’:[23,44,54,32,34,32],
5 ‘category’:[‘100-A’,‘100-B’,‘110-A’,‘110-C’,‘210-A’,‘130-F’],
6 ‘price’:[1200,np.nan,2133,5433,np.nan,4432]},
7 columns =[‘id’,‘date’,‘city’,‘category’,‘age’,‘price’])
这是刚刚创建的数据表,我们没有设置索引列,price 字段中包含有 NA 值,city 字段中还包含了一些脏数据。
数据表检查
python 中处理的数据量通常会比较大,所以就需要我们对数据表进行检查。比如我们之前的文章中介绍的纽约出租车数据和 Citibike 的骑行数据,数据量都在千万级,我们无法一目了然的了解数据表的整体情况,必须要通过一些方法来获得数据表的关键信息。数据表检查的另一个目的是了解数据的概况,例如整个数据表的大小,所占空间,数据格式,是否有空值和重复项和具体的数据内容。为后面的清洗和预处理做好准备。
数据维度(行列)
Excel 中可以通过 CTRL 向下的光标键,和 CTRL 向右的光标键来查看行号和列号。Python 中使用 shape 函数来查看数据表的维度,也就是行数和列数,函数返回的结果(6,6)表示数据表有 6 行,6 列。下面是具体的代码。
1 #查看数据表的维度
2 df.shape
3 (6, 6)
数据表信息
使用 info 函数查看数据表的整体信息,这里返回的信息比较多,包括数据维度,列名称,数据格式和所占空间等信息。
1 #数据表信息
2 df.info()
4 class ‘pandas.core.frame.DataFrame’
5 RangeIndex: 6 entries, 0 to 5
6 Data columns (total 6 columns):
7 id 6 non-null int64
8 date 6 non-null datetime64[ns]
9 city 6 non-null object
10 category 6 non-null object
11 age 6 non-null int64
12 price 4 non-null float64
13 dtypes: datetime64ns, float64(1), int64(2), object(2)
14 memory usage: 368.0 bytes
查看数据格式
Excel 中通过选中单元格并查看开始菜单中的数值类型来判断数据的格式。Python 中使用 dtypes 函数来返回数据格式。
Dtypes 是一个查看数据格式的函数,可以一次性查看数据表中所有数据的格式,也可以指定一列来单独查看。
1#查看数据表各列格式
2df.dtypes
3
4id int64
5date datetime64[ns]
6city object
7category object
8age int64
9price float64
10dtype: object
11
12#查看单列格式
13df[‘B’].dtype
14
15dtype(‘int64’)
查看空值
Excel 中查看空值的方法是使用“定位条件”功能对数据表中的空值进行定位。“定位条件”在“开始”目录下的“查找和选择”目录中。
Isnull 是 Python 中检验空值的函数,返回的结果是逻辑值,包含空值返回 True,不包含则返回 False。可以对整个数据表进行检查,也可以单独对某一列进行空值检查。
df_isnull
1#检查特定列空值
2df[‘price’].isnull()
3
40 False
51 True
62 False
73 False
84 True
95 False
10Name: price, dtype: bool
查看唯一值
Excel 中查看唯一值的方法是使用“条件格式”对唯一值进行颜色标记。Python 中使用 unique 函数查看唯一值。
Unique 是查看唯一值的函数,只能对数据表中的特定列进行检查。下面是代码,返回的结果是该列中的唯一值。类似与 Excel 中删除重复项后的结果。
1 #查看 city 列中的唯一值
2 df[‘city’].unique()34array(['Beijing ', ‘SH’, ’ guangzhou ', ‘Shenzhen’, ‘shanghai’, 'BEIJING '], dtype=object)
查看数据表数值
Python 中的 Values 函数用来查看数据表中的数值。以数组的形式返回,不包含表头信息。
1#查看数据表的值
2df.values
3
4array([[1001, Timestamp(‘2013-01-02 00:00:00’), 'Beijing ', ‘100-A’, 23,
5 1200.0],
6 [1002, Timestamp(‘2013-01-03 00:00:00’), ‘SH’, ‘100-B’, 44, nan],
7 [1003, Timestamp(‘2013-01-04 00:00:00’), ’ guangzhou ', ‘110-A’, 54,
8 2133.0],
9 [1004, Timestamp(‘2013-01-05 00:00:00’), ‘Shenzhen’, ‘110-C’, 32,
10 5433.0],
11 [1005, Timestamp(‘2013-01-06 00:00:00’), ‘shanghai’, ‘210-A’, 34,
12 nan],
13 [1006, Timestamp(‘2013-01-07 00:00:00’), 'BEIJING ', ‘130-F’, 32,
14 4432.0]], dtype=object)
查看列名称
Colums 函数用来单独查看数据表中的列名称。
1 #查看列名称
2 df.columns
3
4 Index([‘id’, ‘date’, ‘city’, ‘category’, ‘age’, ‘price’], dtype=‘object’)
查看前 10 行数据
Head 函数用来查看数据表中的前 N 行数据,默认 head()显示前 10 行数据,可以自己设置参数值来确定查看的行数。下面的代码中设置查看前 3 行的数据。
1#查看前 3 行数据``df.head(``3``)
Tail 行数与 head 函数相反,用来查看数据表中后 N 行的数据,默认 tail()显示后 10 行数据,可以自己设置参数值来确定查看的行数。下面的代码中设置查看后 3 行的数据。
1#查看最后 3 行df.tail(3)
python提取list中的元素
1、提取某个或某几个元素
ki = [1, 3, 4, 5, 6, 8]
print(ki[2])
print(ki[2:4])
结果:
4
[4, 5]
2、提取所有元素
ki = [1, 3, 4, 5, 6, 8]
for i in range(0, len(ki)):
print(ki[i])
结果:
1
3
4
5
6
8
3、随机提取元素
import random
ki = [1, 3, 4, 5, 6, 8]
mk = random.sample(ki, 4)
print(mk)
结果:
[3, 4, 8, 1]
python如何将列表中的数据内容提取出来放到一个字典里在屏幕上按学号从小到大
python如何将列表中的数据内容提取出来放到一个字典里在屏幕上按学号从小到大,1 创建一个列表lst和一个空字典dic,列表当中加入要求中的数字,字典为我们存放将来提取到的数字做准备,代码: lst =[10,20,30,40,50,60,70,80,90,99] dic ={} 2 利用for循环提取列表lst当中的所有元素,也就是那些数字。
python中如何取列表某一数值的一侧的数据
range来控制要操作的单元格的范围。
首先打开dos命令窗,安装必须的两个库准备好excel,打开pycharm,新建一个excel.py的文件贴出代码,具体分析要在excel写入值,就要使用write属性。
数据分析是现在很热门的话题,可以通过利用python与excel结合。