微信大众号:尤而小屋
作者:Peter
修改:Peter

DataFrame数据创立

在上一篇文章中已经介绍过pandas中两种重要类型的数据结构:Series类数组和链表的区别型和D数据库系统的中心是ataFrame类数据库技能型,以及具体解说了怎样创立Series的数据。

本文介绍的是怎样创立DataFrame型数据,也是数组初始化pandas中最常用的数据类型,必须把握的,后续的所有连载文章简直都是根据DataFrame数据的操作。

创立DataFrame:10种方法任你选

扩展阅览

1、Pan数据库系统工程师das开篇之作:Pandas中运用爆炸函数

2、Pandas系数组公式列榜首篇:Series类型数据创立

导入库

pandas和numpy主张经过anaconda设备后运用;pymysql主要是python用来联接数据库,然后进行库表操作的第苹果xs三方库,也数组指针需求先设备

import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import pymysql   # 设备:pijsonpp install pymysql

10种方法创立DataFrame数据

创立DataFrame:10种方法任你选

下面介绍的是经过不同的方法来创立DataFrame数据,所有方法究竟运用的函数都是:pd.DataFr数组和链表的区别ame()

创立空DataFrame

1、创立一个完全空的数python怎样读

创立一个空DataFrame数据,发现什么也没有输出;可是经过type()函数据库办理系统python培训班膏火一般多少检查发现:数据是DataFrame类型

创立DataFrame:10种方法任你选

2、创立一个数值为NaN的数据

df0 = pd.DataFrame(
columns=['A','B','C'], # 指定列特征
index=[0,1,2]  #json格局 指定行索引
)
df0

创立DataFrame:10种方法任你选

改动数据的行索引:

df0 = pd.DataFrame(
columns=['A','B','C'],
index=[1,2,3]  # 改动行索引:从1初步
)
df0

创立DataFrame:10种方法任你选

手动创立DataFrame

将每个列字段的数据经过列表的方法列出来

d苹果7f1 = pd.DataFrame({
"name":苹果8plus["小明","小红"数据库技能,"小侯","小周","苹果官网小孙"],
"sex":["男","女","女","男","男"],
"age":[20,19,28,27,24],
"class":[1,2,2,1,2]
})
df1

创立DataFrame:10种方法任你选

读取本地文件创立

pandas能够经过python能够自学吗读取本地的Excel、CSV、JSON等文件来创立DataFrame数据

1、读取CSV文件

比方从前爬到的一份成都美食的数据,是CSV格局的:

df2 = pd.read_csv("成都美食.csv")   # 括号里边填写文件的途径:本文的jsonp文件在当然目录下
df2

创立DataFrame:10种方法任你选

2、读取Excel文件

假如是Excel文件,也能够进行读取:

df3 = pd.read_excel("成都美食.xlsx")
df数组词3.head()  # 默许闪现前5行数据

创立DataFrame:10种方法任你选

3、读取json文件

比方本地当时目录下有一份json格局的数据:

创立DataFrame:10种方法任你选

经过pjson格局转化andas读取进来:

df4 = p苹果电影d.read_json("information.python123jsonPython")
df4

创立DataFrame:10种方法任你选

4、读取TXT文件

本地当时目录有一份TXT文数组c语言件,如下图:

创立DataFrame:10种方法任你选

df5 = pd.read_table("text.txt")
df5

创立DataFrame:10种方法任你选

上图中假如不指定任何参数:pandas会将榜首行数据作为列字段(不是咱们想要的作用),指定参数修改后的代码:

df7 = pd.read_table(
"text.txt",   # 文件途径
names=["名字","年岁","性别JSON","省份"],   # 指定列特征
sep=" "  # 指定json格局怎样翻开分隔符:空格
)
df7

创立DataFrame:10种方法任你选

另外的一种解决方法便是:直接修改txt文件,在最上面加上咱们想要的列字段特征:这样最上面的一行数据便会作为列字段

名字 年岁  性别 出生地
小明  20   男  深圳
小红  19   女  广州
小孙  28   女  北京
小周  25   男  上海
小张  22   女  杭州

python123渠道登录取数据库文件创立

1、先设备pymysql

本文中介绍的是经过pymysql库来操作数据库,然后将数据经过panpython是什么意思da数组去重方法s读取进来,首要要先设备下pymysql库(假装你会了):

pip install pymysql

首要看下本json地数据库中一个表中的数据:读取Student表中的悉数数据

创立DataFrame:10种方法任你选

数据实在姿势如下图:

创立DataFrame:10种方法任你选

2、树立联接

connection = pymysql.connect(
host="IP数据库原理及应用地址",
port=端口号,
user="用户名",
pa苹果手机ssworjson格局怎样翻开d="密码",
charset="字符集",
db="库名"
)
cur = con数组指针nection.cujsonobjectrsor()   # 树立游标
# 待实行的SQL句子
sql = """
select * from Stud数组去重ent
"""
# 实行SQL
cur.execute(sql)

3jsonp、回来实行的作用

data = []
for ijson文件是干什么的 in cur.fetchall():
data.appejson格局怎样翻开nd(i)   # 将每条作用追加到列表中
data

创立DataFrame:10种方法任你选

4、创立成DataFrame数据

df8 = pd.Datapython能够做什么作业Fra数据库规划me(data,columns=["学号","名字","苹果8plus出生年月","性别"])   # 指定每个列特征称谓
df8

创立DataFrame:10种方法任你选

运用pyt数组的界说hon字典创立

1、包含列表的字典创立

# 1、包含列表的字典
dic1  = {"name":["苹果8小明","小红","小孙"],
"age":[20,18,27],
"sjson格局转化ex":["男数组初始化","女","数据库查询句子男"]
}
dic1

创立DataFrame:10种方法任你选

df9 = pd.DataFrame(dic1,indJSONex=[0,1,2])
df9

创立DataFrame:10种方法任你选

2、字典中嵌套字典进行创立

# 嵌套字典的字典
dic2 = {'数量':{'苹果':3,数组排序'梨':2,'草莓':5},
'价格json解析':{'苹果':10,'梨':9,'草莓':8},
'产地':{'苹果':'陕西','梨':'山东','草莓':'广东'}
}
dic2
# 作用
{'数量': {'苹果': 3, '梨': 2, '草莓': 5},
'价格': {'苹果': 10, '梨': 9, '草莓': 8},
'产地': {'苹果': '陕西', '梨': '山东', '草莓': '广东'}}

创立作用为:

创立DataFrame:10种方法任你选

python列表创立

1、运用默许的行索引

lst = ["小明","小红","小周","小孙"]
df10 = pd.DataFr数据库技能ame(lst,columns=["名字"])
df10

创立DataFrame:10种方法任你选

能够python能够自学吗对索引进行修改:

lst = ["小明","小红","小周","小孙"]
dfpython下载安装教程10 = pd.DataFrame(
lst,
column苹果12s=["名字"],jsonp跨域原理
index数据库=["a","b","c","d"]   # 修改索引数组去重
)
df10

创立DataFrame:10种方法任你选

3、列数组词表中嵌套列表

# 嵌套列表方法
lst = [["小json格局怎样翻开明","20","男"],
["小红","23","女"],
["小周","19",python下载安装教程"男"],
["小孙","28","男"]
]
df11 = pd.DataFrame(lst,columns=["名字","年岁","性别"])
df11

创立DataFrame:10种方法任你选

pytjson文件是干什么的hon元组创立

元组创立的方法和列表比较类似:能够是单层元组,也能够进行嵌套。

1、单层元组创立

# 单层元组
tup = ("小明","小红","小周","小孙")
df12 = pd.DataFrame(tujson格局p,columns=["名字数据库系统的中心是"])
df12

创立DataFrame:10种方法任你选

2、元组的嵌套

# 嵌套元组
tup = (("小明","20","男"),
("小红","23","女"),
("小周","19"苹果官网,"男"),
("小孙","28","男")
)
df13 = pd.DataFrame(tup,colum数组排序ns=["名字","年岁","性别"])
df13

创立DataFrame:10种方法任你选

运用Series数据创立

DataFrame 是将数个 Series 按列吞并而成的二数据库系统的中心是维数据结构,每一列独自取出来是一个 Seri苹果es ,所以咱们能够直接经过Series数据进行创立。

series = {'生果':Series(['苹python能够自学吗果','梨','草莓']),
'数量':Series([60,50,100]),
'价格':Series([7,5,18])
}
df1jsonobject5 = pd.DataFrame(series)
df15

创立DataFrame:10种方法任你选

numpy数组创立

1、运用numpy中的函数进行创立

# 1、运用numpy生成的数组
data1 = {
"one":np.arange(4,10),  # 产生6个数据
"two":range(数组词100,106),
"three":range(20,26)
}
df16 = pd.DataFrame(
data1,json解析
index=['A','B',json是什么意思'C'json格局怎样翻开,'D'数组去重,'E','F']   # 索引长度和数据长度相同
)
df16

创立DataFrame:10种方法任你选

2、直接经过数组c语言numpy数组创立

# 2、numpy数组创立
# reshape()函数改动数组的shape值
data2 = np.array(["小明","广州",175,"小红","深圳",165,"数组词小周","北京",170,"小孙","上海",180]).reshape(4,3)
data2

创立DataFrame:10种方法任你选

df17 = pd.DataFrame(
data2,   # 传入数据
columns=["名字","数据库查询句子出生地","身高"],  # 列特征
index=[0,1,2,3]  #python怎样读 行索引
)
df17

创立DataFrame:10种方法任你选

3、运用numpy中的随机函数

# 3、numpy中的随机函数生成
# 创立名字、学科、学期、班级4个列表
name_list = ["小明","小红","小孙","小周","小张"]
subject_list = ["数组公式语文","数json格局转化学","英文","生物","物理","地理","化学","体育"]
semester_list = ["上","下"]
class_list = [1,2,3]
# 生成40个分数:在50-100之间
score_list = np.random.randint(50,100,数组指针40).tolist()   # 50-100之间挑选40个数

随机生成的40个分数:

创立DataFrame:10种方法任你选

经过numpy中的random模块的choice方法进行数据的随机生成:

df18 = pd.Datpython怎样读aFrame({
"name": np.random.choice(name_list,40,replpython能够做什么作业ace=True),   # replace=True标明抽python123取后放回(默许),所以存在相同值
"subject": np.random.choice(subject_list,40),
"semester": np.random.choice(semester_list,40),
"class":np.random.choicepython能够做什么作业(clasjson格局s_list,40),
"数组排序score": score_list
})
df18

创立DataFrame:10种方法任你选

运用构建器from_dict

pandas中有一个和字典相关的构建器:DataFrame.from_dict

它接纳数组词字典json格局组成的字典或数组序列字典,并python怎样读生成 DataFrame。除了 orient 参数默许为 columns,本构建器的数据库规划操作与 DataFrame 构建器类似。把 orient 参数设置为 'index', 即可把字典的键作为行标签。

df19 = pd.Da数组排序taFram数据库办理系统e.from_dict(dict([(json'名字', ['小明',jsonobject '小红', '小周']),
('身高', [178, 165, 196]),
('性别',['男','女','男']),
('出生地',['深圳','json格局转化上海','北京'])
])
)
df19

创立DataFrame:10种方法任你选

还能够经过参数指定行索引和列字段称谓:

df20 = pd.DataFrjsonpame.from_dicPythont(dict([('姓jsonp跨域原理名', ['小明', '小红', '小周']),
('身数据库技能高', [178, 165, 196]),
('性别',['男','女','男']),
('出生地',['深圳','上海','北京'])
]),
orient='i苹果12npython能够自学吗dex',   # 将字典的键作为行索引
columns=['one', 'two', 'three']  # 指定数据库查询句子列字段称谓
)
df20

创立DataFrame:10种方法任你选

运用构建器from_records

pandas中还jsonp跨域原理有另一个支撑元组列表或结构数据类型(dtype)的多维数组python培训班膏火一般多少的构建器苹果手机:from_rjson格局怎样翻开ecords

data3 = [{'身高': 173, '名字': '张三','性别':'男'},
{'身高': 182, '名字': '李四','性别':'男'},
{'身高': 165, '名字': '王五','性别':'女'},
{'身高': 170, '名字': '小明','性别':'python123渠道登录女'}]
df21 = ppython123d.DataFrame.from_records(data3)
df21

创立DataFrame:10种方法任你选

还能够传入列表中嵌套元组的结构型数据:

data4 = [(173, '小明', '男'),
(182, '小红', '女'),
(161, '小周', '女'),
(170, '小强', '男')
]
df22 = pd.DataFrame.from_records(data4,
columns=['身高', '名字', '性别']
)
df22

创立DataFrame:10种方法任你选

总结

数据帧(DataFrame)是pandas中的二维数据结构,即数据以行和列的表格方法排列python能够自学吗,相数据库系统似于 Excel 、SQL 表,或 Series 方针构成的字典。它在pandas中是常常运用,本身便是多个Series类型数据的吞并。

本文介绍了10种不同的方法创立DataFrame,数据库最为常见的是经过读取文件的方法进行创立,然后对数据帧进行处理和剖析。希望本文能够对读者朋友把握数据帧DataFrame的创立有所帮助。

下一篇文章的预告:怎样在DataFrame中查找满足咱们需求的数据?

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。