Pandas 结构化数据(上)

这篇博客介绍了Pandas的Series和DataFrame数据结构,详细阐述了数据观察、选择/切片、赋值以及处理缺省项的方法。通过实例展示了如何进行数据选择,包括通过标签和位置的选择,以及如何对数据进行排序、筛选和赋值。

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


载入需要的包:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

一、Series

Series 是一个一维类数组对象,包含一列数据与与其关联的一列数据标签,数据标签即为数据的序列。创建一个 Series:

s = pd.Series([1,3,5,np.nan,6,8])
s
=>
0    1.0
1    3.0
2    5.0
3    NaN
4    6.0
5    8.0
dtype: float64

二、DataFrame

DataFrame 是一个表格化的数据结构,它同时拥有行序号与列序号。创建一个 DataFrame有多种方式:

  • 通过传递一个 numpy 数组创建 DataFrame
#创建日期索引序列 
dates = pd.date_range('20130101', periods=6)
#创建Dataframe,其中 index 决定索引序列,columns 决定列名
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
df

这里写图片描述

  • 通过传递一个字典创建 DataFrame:
df2 = pd.DataFrame({ 'A' : 1.,
                     'B' : pd.Timestamp('20130102'),
                     'C' : pd.Series(1,index=list(range(4)),dtype='float32'),
                     'D' : np.array([3] * 4,dtype='int32'),
                     'E' : pd.Categorical(["test","train","test","train"]),
                     'F' : 'foo' })

这里写图片描述

  • 查询每一列的数据结构:
df2.dtypes

这里写图片描述

三、数据观察

观察开头的数据(前五行):

df.head()

观察末尾的数据:

df.tail(3):倒数三排数据

df.index:显示索引

=>
DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
               '2013-01-05', '2013-01-06'],
              dtype='datetime64[ns]', freq='D', tz=None)

df.columns: 显示列索引

df.values:显示底层 numpy 结构

=>
array([[ 0.4691, -0.2829, -1.5091, -1.1356],
       [ 1.2121, -0.1732,  0.1192, -1.0442],
       [-0.8618, -2.1046,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值