pandas生成数据表

本文详细介绍了如何在终端使用pip安装Pandas库,并讲解了Pandas的Series和DataFrame这两种基本数据结构的创建方法,包括从列表、字典、Numpy数组以及文件(CSV和Excel)导入数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文章用于个人学习,如有错误欢迎友善交流,会积极改正

pandas库的下载

在终端输出

pip install pandas

等待时间完成安装

pandas库的使用

使用需要导入

一般使用import pandas as pd

下面是创建数据表的方法

众所周知,pandas有Series和dataFrame两个最基本的数据结构

1.使用series建立

series是一维的,具有行标签的一个数组

import pandas as pd
#建立数据表
a=pd.Series([1,2,3,4,5])#Series(data,index,dtype)
print(a)

 

其基本格式有

a=pd.Series(data,index,dtype)

data:可以转化为一维数组的对象,列表,元组,字典,Numpy数组,可迭代对象,甚至一个标量(会生成一个所有元素都是该标量的series)

index:行标签序列,默认是从0开始的整数序列,可以自行更改

import pandas as pd
#建立数据表
a=pd.Series([1,2,3,4,5],index=['zero','one','two','three','four'])#Series(data,index,dtype)
print(a)

dtype:series对象中元素的数据类型,如果series包含的全是整数,dtype可能就是int64;

如果series包含的全是浮点数,dtype可能就是float64,;如果包含的全是字符串,dtype可能就是object;series中的每个元素都是一个python个体,而不是一个数值类型,字符串优先级大于浮点数大于整数

name:series的名称

import pandas as pd
a=pd.Series([1,2,3,4,5])
print(a.dtype)#int64
b=pd.Series([1.0,2.0,3.0,4.0,5.0])
print(b.dtype)#float64
c=pd.Series(['a','b','c','d','e'])
print(c.dtype)#object
import pandas as pd

# 创建一个包含整数、浮点数和字符串的Series
s = pd.Series([1, 2.0, 'three', 4, 5.0])

# 输出数据类型
print(s.dtype)  # 输出: object

完整来一遍

import pandas as pd
data = pd.Series([1, 3, 4, 6], index=["a", "b", "c", "d"], dtype='float')
print(data)
# a    1.0
# b    3.0
# c    4.0
# d    6.0
# dtype: float64

 

2.使用DataFrame建立

DataFrame是带标签数据二维数组

基本形式为DataFrame(data,index,columns)

data:可存储多种类型的数据

 index:行索引

columns:列标签

从python字典中创建

字典中的每个键变为DataFrame中的每个列名,对应的值将会成为该DataFrame的数据

import pandas as pd
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'San Francisco', 'Los Angeles']
}
df = pd.DataFrame(data)
print(df)
#       Name  Age           City
# 0    Alice   25       New York
# 1      Bob   30  San Francisco
# 2  Charlie   35    Los Angeles

直接创建

import pandas as pd
#建立数据表
b=pd.DataFrame(['m','a','t','h','e'],index=[1,2,3,4,5],columns=['one'])#DataFrame(data:,index,columns)
print(b)
#   one
# 1   m
# 2   a
# 3   t
# 4   h
# 5   e

从其他pandas对象创建

1.两个series创建一个dataframe

import pandas as pd
#建立数据表
a=pd.Series([1,2,3,4],name='A')
b=pd.Series([5,6,7,8],name='B')
df=pd.DataFrame({'A':a,'B':b})
print(df)
#    A  B
# 0  1  5
# 1  2  6
# 2  3  7
# 3  4  8

2.将另一个dataframe的行或列截取下来

import pandas as pd
#建立数据表
df=pd.DataFrame({'A':[1,2,3,4],'B':[5,6,7,8]})
print(df)
#   A  B
# 0  1  5
# 1  2  6
# 2  3  7
# 3  4  8
#截取行
dh=df[0:3]#左开右闭
print(dh)
#    A  B
# 0  1  5
# 1  2  6
# 2  3  7
#截取列
dl=df['A']
print(dl)
# 0    1
# 1    2
# 2    3
# 3    4

导入csv或xlsx 

​
df = pd.DataFrame(pd.read_csv('name.csv'))
df = pd.DataFrame(pd.read_excel('name.xlsx'))

​

 

下面是使用pandas生成数据透视表的方法和示例: 方法: pandas.pivot_table(data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All') 参数: - data:DataFrame对象 - values:要聚合的列或列的列表,默认为所有数值列 - index:用于分组的列或列的列表,或者为True(使用所有其他列) - columns:用于分组的列或列的列表,或者为True(使用所有其他列) - aggfunc:聚合函数或函数列表,默认为'mean' - fill_value:用于替换结果中的缺失值,默认为None - margins:添加行/列边距,默认为False - dropna:如果为True,则删除所有包含缺失值的行/列,默认为True - margins_name:边距的名称,默认为'All' 示例: 假设我们有以下数据集: | Name | City | Gender | Age | Height | Weight | |------|------|--------|-----|--------|--------| | John | LA | Male | 25 | 6'0" | 180 | | Jane | SF | Female | 30 | 5'5" | 120 | | Bob | NY | Male | 50 | 5'8" | 150 | | Mary | LA | Female | 40 | 5'6" | 130 | 我们可以使用以下代码生成一个简单的数据透视表: ```python import pandas as pd data = pd.read_csv('data.csv') pivot_table = pd.pivot_table(data, values=['Age', 'Height', 'Weight'], index=['City'], columns=['Gender'], aggfunc='mean') print(pivot_table) ``` 输出结果为: ``` Age Height Weight Gender Female Male Female Male Female Male City LA 40.0 25.0 5.666667 6.0 130.000000 180.0 NY NaN 50.0 NaN 5.8 NaN 150.0 SF 30.0 NaN 5.500000 NaN 120.000000 NaN ``` 该数据透视表显示了每个城市中男性和女性的平均年龄,身高和体重。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值