pandas学习随笔1

Series序列,一维表数据操作结构。

  1. 使用python的普通列表来创建Series数据结构

import pandas as pd

import numpy as np

data = [1,2,3,4,5]

s = pd.Series(data,index=[1000,1001,1002,1003,1004])

print(s)

********

1000 1

1001 2

1002 3

1003 4

1004 5

********

  1. 使用numpy的ndarray创建Series

import pandas as pd

import numpy as np

data = np.array([1,2,3,4,5])

s = pd.Series(data,index=[1000,1001,1002,1003,1004])

print(s)

如果不指定index参数的列表,则索引号默认从0开始递增。

*********

1000 1

1001 2

1002 3

1003 4

1004 5

*********

  1. 使用dict字典数据来初始化Series

import pandas as pd

d={'a':1,'b':2,'c':3}

s=pd.Series(d)

print(s)

*******

a 1

b 2

c 3

*******

此时没有指定Index,则默认使用字典的keys来初始化index序列,如果指定index序列,则按照指定的序列来排序。

如何访问series数据

  1. 通过python列表(list)的位置索引访问方式,通过标签的方式访问,s['1000']的值是1。

  1. 也支持切片,比如取前两位s[0:2]

1000 1

1001 2

  1. 也可以用标签列表来同时访问多个 s[[1000,1001,1002]]

empty可以判断Series是否为空 s.empty,返回False即为非空

返回部分数据,s.head(5)返回前五行,s.tail(5)返回后五行。

isnull()和notnull()判断是否空值和是否不是空值。

DataFrame

DataFrame 一个表格型的数据结构,既有行标签(index),又有列标签(columns),它也被称异构数据表,所谓异构,指的是表格中每列的数据类型可以不同,比如可以是字符串、整型或者浮点型等。

import pandas as pd

pd.DataFrame(data,index,column,dtype,copy)

创建一个空的DataFrame

import pandas as pd

df=pd.DataFrame()

使用list来创建DataFrame

import pandas as pd

data=[1,2,3]

df=pd.DataFrame(data)

0

0 1

1 2

2 3

使用二维列表来初始化DataFrame

import pandas as pd

import numpy as np

data=[[1,'a'],[2,'b'],[3,'c']]

df=pd.DataFrame(data,columns=['a1','a2'])

print(df)

a1 a2

0 1 a

1 2 b

2 3 c

使用字典来创建DataFrame

import pandas as pd

import numpy as np

data={'name':['aa','bb','cc','dd'],'age':[10,20,30,40]}

df=pd.DataFrame(data)

print(df)

name age

0 aa 10

1 bb 20

2 cc 30

3 dd 40

使用列表中嵌套字典来创建DataFrame

import pandas as pd

import numpy as np

data=[{'a':1,'b':2,'c':3},{'a':11,'b':22,'c':33}]

df=pd.DataFrame(data)

print(df)

a b c

0 1 2 3

1 11 22 33

使用列索引可以访问一列的数据df['a']

#新增一列

df['d']=[4,44]

print(df)

a b c d

idx1 1 2 3 4

idx2 11 22 33 44

#新增一列

df.insert(0,column='d',value=[4,44])

print(df)

d a b c

idx1 4 1 2 3

idx2 44 11 22 33

使用insert操作来插入一列数据,第一个参数可以控制插入列的位置,传0即为插入第一列

使用del或者pop可删除列,del df['d'],df.pop('d')

通过行标签访问数据

df.loc['idx1']

d 4

a 1

b 2

c 3

通过行索引访问数据

df.iloc[0]

d 4

a 1

b 2

c 3

通过append函数添加一行数据

df_add=pd.DataFrame([{'d':444,'a':111,'b':222,'c':333}],index=['idx3'])

df=df.append(df_add)

print(df)

d a b c

idx1 4 1 2 3

idx2 44 11 22 33

idx3 444 111 222 333

通过df.drop('idx1')可删除行标签是idx1的数据行

参数axis=0是垂直方向计算,axis=1是水平方向计算

pandas读取csv文件

pd.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer',names=None, index_col=None, usecols=None)

使用index_col自定义索引,names指定表头,header表示表头所在的行号,skiprows指定跳过的行数。

使用pd.to_csv()将数据以csv的格式输出,参数sep指定分隔符,默认为','

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值