更多优质内容
请关注公众号

Python数据分析基础之Pandas(二) DataFrame数据表格的基本使用-张柏沛IT博客

正文内容

Python数据分析基础之Pandas(二) DataFrame数据表格的基本使用

栏目:Python 系列:Python数据分析系列 发布时间:2019-12-06 14:59 浏览量:2614

DataFrame 数据框是用于存储多行和多列的数据集合,是Series的容器,类似于Excel的二维表格,对于DataFrame的操作无非是增删改查。

学DataFrame其实就相当于学习Excel一样,很简单,但是琐碎的东西很多也很灵活。DataFrame的很多函数和用法不用死记,我们只需要知道有这么一个用法,记得这种用法但不记得具体怎么写可以查百度。


DataFrame的定义

from pandas import Series,DataFrame

#定义
df = DataFrame({'age':Series([26,29,24]),'name':Series(['zbp','cc','yf'])})
# print(df)

#访问age列
age = df['age']   #类型是Series
# print(age)
#
# 0    26
# 1    29
# 2    24
# Name: age, dtype: int64

#获取第一行
row1 = df[0:1]   #错误写法:row1=df[0]
# print(row1)

#获取最后一行
print(df[2:])
print(df[len(df)-1:])

#获取多行
row2=df[1:3]
# print(row2)
#
#    age name
# 1   29   cc
# 2   24   yf

#获取前两行的前两列
values = df.iloc[0:2,0:2]  #含头不含尾
# print(values)

#获取第一行的name字段
name = df.at[0,"name"]
# print(name)})


DataFrame的其他基本用法

df1 = DataFrame({'age':[21,22,23],'name':['zbp','yf','cc']})
df2 = DataFrame(data={'age':[21,22,23],'name':['zbp','yf','cc']},index=['a','b','c'])

# print(df1[1:100])
#    age name
# 1   22   yf
# 2   23   cc

# print(df1[2:2])
# Empty DataFrame
# Columns: [age, name]
# Index: []


# print(df1[4:1])
#结果同上

# print(df2['a':'a'])  #根据索引名访问第一行
# print(df2[0:1])  #结果同上,错误写法:df2[0:0]
# print(df2['a':'c'])

# print(df1.columns)  #获取所有列名
# print(df1[df1.columns[0:1]])  #根据列号获取列
# print(df1.index)  #获取索引

#因为df2有字母索引,所以,不能通过数字索引获取块
# print(df2.at['a','name'])
# print(df2.at[0,'name'])  #报错

#df1.iloc[0:1,0:1]和df1.at[0,'name']的区别是前者是dataFrame 后者是字符串



# 修改列名
df1.columns = ['age2','name2']

#修改行索引,原来行索引以0开始,现在以1开始
df1.index = range(1,4)

# print(df1)

#根据行号删除行,不影响原df,axis默认为0
df3 = df1.drop(1,axis=0)
# print(df3)

#删除列
df4 = df1.drop('name2',axis=1) #错误写法:df1.drop(1,axis=1)
# print(df4)

#删除列 法2 会影响原df
del df1['age2']
# print(df1)

#增加列
df1['salary']=[8500,8500,10000]
# print(df1)

#增加行 该方法效率低
df2.loc[len(df2)]=[30,"cjq"]
# print(df2)

#增加行可以通过合并两个df实现
df1=DataFrame([[1,2],[3,4]],columns=list("AB"))
df2=DataFrame([[5,6],[7,8]],columns=list("AB"))

#法1
df3 = df1.append(df2)
print(df3)   #合并后的结果中,两个df的index不变
#
#    A  B
# 0  1  2
# 1  3  4
# 0  5  6
# 1  7  8

#法2
df4 = df1.append(df2,ignore_index=True) #合并后索引自动更新
print(df4)


更多有关Series和DataFrame的使用方法会在后续数据处理的章节演示





更多内容请关注微信公众号
zbpblog微信公众号

如果您需要转载,可以点击下方按钮可以进行复制粘贴;本站博客文章为原创,请转载时注明以下信息

张柏沛IT技术博客 > Python数据分析基础之Pandas(二) DataFrame数据表格的基本使用

热门推荐
推荐新闻