Pandas 的 dataframe 结构

Pandas是非常有力的数据分析工具。我刚开始学习使用Pandas处理数据,所以想做下笔记,加深印象。我这里整理了一下。

# 首先导入pandas包
import pandas as pd 

# 如果有必要,导入numpy
import numpy as np

pandas 保存数据的格式dataframe,很多操作都是基于这一格式进行的。我在这里先创建一个dataframe格式的数据表。这一格式可以理解为表格样式的,我们有表头,有行名,有数据。

data_table = pd.read_csv(filepath_or_buffer='data.csv',sep=',',header=0,usecols=[5,9,11])
# header是列名,默认为0,即第一行.如果文件中没有列名,则header设为None.
# usecols是使用的列,我这里使用了第6,10,12列.

data_sheet = pd.read_excel(io='data.xls',sheetname='',header=0,index_col=,usecols=[5,9,11])
# io是表格路径,header,usecols 同read_csv
# sheetname是使用哪一个sheet表,如sheetname=0,即使用第一个表格sheet1.也可以写sheetname='sheet1'
# index_col是索引列

在这里我自己编写了一些数据,当然是随意写的,为了演示操作效果,需要有这样的实例。表格图如下:

一,拷贝一个dataframe,我有一个df是全部的信息表格,我这里只想要前两行的部分信息,代  码如下

subdf = pd.DataFrame(df,index=[0,1],columns=['name','value'])

  name   value
0   C罗  1040.0
1   梅西  1450.0

二,索引切片

subdf = df['name']

  取name那一列,结果为

  如果要取多列,或者多行

subdf = df[['name','ability']]
# 取 name 和 ability 那两列
subdf = df[2:5]

# 包括 index 为2的行不包括 index 为5的行

 

 

 

 

 

 

 

 

 

 

 

 

左边多列,右边多行。

subdf = df.loc[[3,5,7],['name','value']]

#---------------------------------------

subdf = df.iloc[3:7,0:]

# iloc 不同的是用的是下标表示行与列
# ix 也能达成这样的目的
subdf = df.ix[3:6,['name','value']]

 

 

 

subdf = df.at[3,'name']
#---------------------
subdf = df.iat[3,0]

# at 具体到某一元素,如上面的输出为 伊涅斯塔

三,筛选

subdf = df[df.ability>90][['name','position']]

  找出能力大于90的球员名字及位置。

subdf = df[df.ability.isin(['89'])]

  找出 能力值 为89 的球员。

 

 

 

四,删除,添加

  

subdf = df.append(pd.DataFrame(..))

# 添加操作  或者直接

df['age'] = [..]

# 这样相当于添加一列age
# 或具体来说

df['age'] = pd.DataFrame([..],index=[3,5,7,8,9,13,16])

#这都是对列的扩充
df.append(pd.DataFrame({'name':'库蒂尼奥','position':'中场','ability':87,'value':890.0},index=[17])


# 这是添加了一行
subdf = df.drop([3,6,9,10,12,15,16],axis=0)
# 0删除行,1删除整列

 简单内容就此结束,具体用法请亲自实践。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值