pandas用法之数据结构类型

这篇博客介绍了如何使用pandas进行CSV和xlsx文件的导入导出,并探讨了pandas DataFrame的数据结构,包括行索引、列头和数据值。还展示了如何设置特定列作为索引以及查看数据表信息。

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

import pandas as pd

导入CSV或者xlsx文件

df = pd.read_csv('name.csv',header=0)  #header指定表头
df = pd.read_excel('name.xlsx')  #也可以指定表sheetname=1

pd.read_csv('name.csv',sep = ';', encoding = 'gbk',
	parse_dates = ['date'],dayfirst = True,index_col = 1
)  #sep指定用;号来作为列分隔符,parse_dates将指定列解析为日期,
    #dayfirst日的位置在前,index_col设置索引列
    #如果处理的字符串中包含中文,那么最好要搞懂所用字符的编码,是gbk/gb2312/gb18030,还是utf-8,否则容易出现乱码

可以输出为xlsx格式和csv格式

df_inner.to_excel('excel_to_python.xlsx', sheet_name='bluewhale_cc')
df_inner.to_csv('excel_to_python.csv')

写入csv:

with open('data.csv','w',newline='') as csvfile:
        f_csv = csv.writer(csvfile)
        f_csv.writerows(data)

pandas创建数据表

df = pd.DataFrame({
		"id":[1,2,3,4,5,6], "date":pd.date_range('20130102', periods=6), 
		"city":['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', 'BEIJING '],
		 "age":[23,44,54,32,34,32]
		 },columns =['id','date','city','age'])
print(df)

数据显示如下 :

id       date         city     age
0   1 2013-01-02     Beijing    23
1   2 2013-01-03           SH   44
2   3 2013-01-04   guangzhou    54
3   4 2013-01-05     Shenzhen   32
4   5 2013-01-06     shanghai   34
5   6 2013-01-07     BEIJING    32
s = pd.Series([101,102,103,104])  #用Series创建一个带索引的DataFrame
print(s)

默认会创建整型索引,数据显示如下 :

0    101
1    102
2    103
3    104
dtype: int64

在操作数据之前,先来了解一下pd.DataFrame的数据结构:

dates = pd.date_range('20201219',periods = 3)  #创建时间序列
print(dates)
'''DatetimeIndex(['2020-12-19', '2020-12-20', '2020-12-21'],
              dtype='datetime64[ns]', freq='D')'''
col = list('ABCDEF')  #等于['A', 'B', 'C', 'D'...]
df = pd.DataFrame([[1,2,3,4,5,6],['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', 'BEIJING '],[23,44,54,32,34,32]],index = dates, columns = col)

结果为:

                   A   B            C         D         E         F
2020-12-19         1   2            3         4         5         6
2020-12-20  Beijing   SH   guangzhou   Shenzhen  shanghai  BEIJING 
2020-12-21        23  44           54        32        34        32

index是行索引,columns为列头,values为数据值

打开文件CSV,会自动创建index

也可以指定列为索引列:

df.reset_index()  #重设索引

df.set_index('date') #设置日期为索引

查看数据表信息

df.head() #默认前5行数据
df.tail()  #默认后5行数据
df.index   #索引
df.values   #数据表的值
df.columns   #所有列名
df.shape #查看数据维度
df.info() #数据表基本信息
df.dtypes #每一列数据类型
df['列名'].dtype #某一列的格式
df.isnull()  #查看空值,
df['列名'].unique()  #查看该列唯一值
df.describe() #全部数据的快速统计汇总

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值