pandas

pandas

qq:1328142689

文章目录


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-acQvMHOG-1644136790387)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20220131014529434.png)]

使用时先导入Pandas

import pandas as pd 

1.创建

列表的创建

Series 类似于列表,相当于numpy中的一维数组

Series 由索引和列表组成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ea5rlvar-1644136790389)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20220131020110026.png)]

arr = [1,2,3]
arr = pd.Series(arr)
print(arr)

改变索引值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P5abP8i4-1644136790389)(C:/Users/Administrator/Desktop/1/image-20220131021748070.png)]

arr = [1,2,3]

arr01 = pd.Series(arr,index = {'a','b','c'})

print(arr01)


索引
# 1.单值索引
print(arr01[0])
print(arr01['2021-01-02'])
# 2.单值切片
# 根据需要做筛选的动作
print(arr01[0:10])
# 从02号开始到25号的日期
print(arr01['2021-01-02':'2021-01-25 '])
注意: 一个有数据、一个没数据,相加,会得到nan结果

数据帧的创建

import pandas as pd
import numpy as np
s1 = pd.DataFrame(np.arange(12).reshape(3,4))
print(s1)
使用列表创建
s1 = pd.DataFrame([1,2],[1,2],columns = ['第一列','第二列'],dtype = float)
使用字典创建
dict_data = {
'student':["Li Lei","Han Meimei","Tom"],
'score'	:[95,98,92],
'gender':['M','F','M']
}

df_data = pd.DataFrame(dict_data)
print(df_data)

输出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ai3fVcUh-1644136790390)(C:/Users/Administrator/Desktop/1/image-20220131153849429.png)]

注意:没有对应部分的数值为NaN

pandas 可以使用loc 属性返回指定的行数,如果没有索引值,第一行索引为0 ,第二行索引为1

import pandas as pd

data = {
  "calories": [420, 380, 390],
  "duration": [50, 40, 45]
}

# 数据载入到 DataFrame 对象
df = pd.DataFrame(data)

# 返回第一行
print(df.loc[0])
# 返回第二行
print(df.loc[1])
在左上角添加一个行标签或者列标签
df.index.name = '行标签的名字'
df.columns.name = '列标签名字'
查看数据帧的前5行和后五行(默认情况下)
#前五行
df.head()
#后五行
df.tail()
查看序列和数据帧的信息
df.info()
查看基本的统计描述信息(包括数量、平均值、最小值和最大值等)
df.describe()
数据的基本类型转化
df['score']= df['score'].astype('int')
使用lambda对字符串进行操作,将字符串中 的逗号消去
def fun(df01):
    df = df01.replace(',','')
    return np.float(df)
df['bos'] = df['bos'].apply(fun)
数据帧的升维
df.index = df.MultiIndex.from_tuples()

2.文件的保存

Excel的格式

将数据帧存入到excel文件中

import pandas as pd
# 使用创建
s2 = pd.DataFrame([[1,2],[2,3]])
# 保存
s2.to_excel('df.xlsx',sheet_name = '001')
# index = false 
# 只有列标签

将数据从.xlsx文件中读取出来

# 文件读取
s1 = pd.read_excel('df.xlsx')
s1
# 读取成功

csv文件

s1.to_csv('003.csv',encoding = 'utf-8')
s2 = pd.read_csv('003.csv')
s2

csv文件读取出来后,将一个数据添加到另一个数据下面

df3.append(df4)
# 添加到df3的下面

3.对数据库的操作

3.1mssql

首先要导入连接数据库的包

import pymssql
//这个包是连接mssql 数据库 的
//如果在执行的时候没有,要在Anaconda 中进行下载
//下载的代码为:
    //pip install pymssql
    //下载后会显示successful

接下来要连接数据库文件

conn = pymssql.connect("location","se",'1')
cursor = conn.cursor()
if cursor :
    print("successfully")

创建数据库

conn.autocommit(True)
cursor.execute ('''
CREATE DATABASE Test05 
ON
(
   name = "test05",
   filename = "D:\MSSQL\test05data.MDF"
)
log on
(
   name = "testlog05",
   filename = "D:\MSSQL\test05Log.LDF"

)
''')
# 提交
conn.autocommit(False)
# 关闭
conn.close()

读取数据中的数据

import pandas as pd
import mssql
conn = pymssql.connect('localhost','sa','1','Test01')
driver = conn.cursor()
arr = pd.read_sql('select * from test01',conn)
print(arr)

3.2mysql 数据库

# 在mysql 创建数据库
import pymysql
host = 'localhost'
port = 3306
user ='root'
password = '123456'
conn = pymysql.connect(host=host,port=port,user=user,password=password)
cursor = conn.cursor()
if conn:
    print("连接成功")

3.3创建一个引擎执行数据库操作


4. .iloc 和 loc 的区别

loc函数:通过行索引 “Index” 中的具体值来取行数据(如取"Index"为"A"的行)

iloc函数:通过行号来取行数据(如取第二行的数据)

5.布尔类型的选取

[(arr.dtypes == 'int')]

ser,password=password)
cursor = conn.cursor()
if conn:
print(“连接成功”)


### 3.3创建一个引擎执行数据库操作

```Python

4. .iloc 和 loc 的区别

loc函数:通过行索引 “Index” 中的具体值来取行数据(如取"Index"为"A"的行)

iloc函数:通过行号来取行数据(如取第二行的数据)

5.布尔类型的选取

[(arr.dtypes == 'int')]
上一篇:Day21 网络编程(下)


下一篇:java IO流