【Pandas】Pandas基础

需要使用的数据
数据learn_pandas

Pandas基础

使用到的数据如下所示,可以将其保存为不同的文件以供练习

col1,col2,col3,col4,col5
2,a,1.4,apple,2020/1/1
3,b,3.4,banana,2020/1/2
6,c,2.5,orange,2020/1/5
5,d,3.2,lemon,2020/1/7

文件的读取和写入

读取csv、excel和txt文件

# 读取csv文件
csv_data = pd.read_csv("data/my_csv.csv")
print(csv_data)
# 读取excel文件
excel_data = pd.read_excel("data/my_excel.xlsx")
print(excel_data)
# 读取txt文件
table_data = pd.read_table("data/my_table.txt")
print(table_data)

在这里插入图片描述
这里有一些常用的公共参数, header=None 表示第一行不作为列名,index_col表示把某一列或几
列作为索引, usecols 表示读取列的集合,默认读取所有的列, parse_dates 表示需要转化为时间的
列, nrows 表示读取的数据行数。上面这些参数在上述的三个函数里都可以使用。

第一行不做索引

csv_data_no_head = pd.read_csv("data/my_csv.csv", header=None)
print(csv_data_no_head)

在这里插入图片描述

选取单独列作为索引

csv_data_choice_col = pd.read_csv("data/my_csv.csv", index_col=['col1', 'col2'])
print(csv_data_choice_col)

在这里插入图片描述

指定读取的列

csv_data_choice_col_2 = pd.read_csv("data/my_csv.csv", usecols=['col1', 'col2'])
print(csv_data_choice_col_2)

在这里插入图片描述

处理时间

csv_data_time = pd.read_csv("data/my_csv.csv", parse_dates=['col5'])
print(csv_data_time)

在这里插入图片描述

选择读取的行数

csv_data_rows = pd.read_csv("data/my_csv.csv", nrows=3)
print(csv_data_rows)

在这里插入图片描述


数据的写入
一般在数据写入中,最常用的操作是把 index 设置为False,特别当索引没有特殊意义的时候,这样
的行为能把索引在保存的时候去除。

df_csv.to_csv('data/my_csv_saved.csv', index=False)
df_excel.to_excel('data/my_excel_saved.xlsx', index=False)

pandas中没有定义to_table 函数,但是 to_csv可以保存为 txt 文件,并且允许自定义分隔符,
常用制表符 \t 分割:

 df_txt.to_csv('data/my_txt_saved.txt', sep='\t', index=False)

跳转顶部


基本数据结构

pandas 中具有两种基本的数据存储结构,存储一维valuesSeries 和存储二维values
DataFrame,在这两种结构上定义了很多的属性和方法。

Series

Series 一般由四个部分组成,分别是序列的值 data 、索引index 、存储类型 dtype 、序列的名字
name 。其中,索引也可以指定它的名字,默认为空。

s = pd.Series(data=[100, 'a', {
   
   "name": "Jack"}],
              index=pd.Index(["ID", 20, 'third'], name="my_idx"),
              dtype='object',
              name='my_name')

在这里插入图片描述
注意: object 代表了一种混合类型,正如上面的例子中存储了整数、字符串以及 Python 的字典数据结构。
对于这些属性,可以通过 .的方式来获取:

# 获取值
print(s.values)
# 获取 索引
print(s.index)
# 获取 数据类型
print(s.dtype)
# 获取列名
print(s.name)
# 获取长度
print(s.shape)

在这里插入图片描述

跳转顶部


DataFrame

DataFrameSeries 的基础上增加了列索引

df = pd.DataFrame(data={
   
   'col_0': [1, 2, 3], 'col_1': list('abc'),
                        'col_2': [1.2, 1.3, 1.4]},
                  index=['row_%d' % i for i in range(3)])

在这里插入图片描述
DataFrame中可以用[col_name][col_list] 来取出相应的列与由多个列组成的表,结果分
别为SeriesDataFrame

# 获取第一列,只获取列的时候就是一个Series
print(df['col_2'])
# 获取第一二两列
print(df[['col_1', 'col_2']])
</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值