pandas中的DataFrame




import pandas as pd


import numpy as np

pandas中主要有两种数据结构,分别是:Series和DataFrame。

(1)Series:一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象。注意:Series中的索引值是可以重复的。

(2)DataFrame:一个表格型的数据结构,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等),DataFrame即有行索引也有列索引,可以被看做是由Series组成的字典。

1、DataFrame的创建

(1)通过二维数组创建

(2)通过字典的方式创建

# 通过二维数组创建
df1=pd.DataFrame([['Den','Aql','Rek'],[89,6,90]])

df1
  0 1 2
0 Den Aql Rek
1 89 6 90
# 通过字典创建dataframe的要求:字典的value要求:一维数组或者单一数据
# 字典的键作为列索引
# 字典的数据作为列数据
# index没有显示指定时,创建range(0,len(dict))
dic={'数学':[25.1,26,27,28],'语文':98,'名字':['Dkd','Hff','Zfs','Lghgd']}
df2=pd.DataFrame(dic)
df2
  名字 数学 语文
0 Dkd 25.1 98
1 Hff 26.0 98
2 Zfs 27.0 98
3 Lghgd 28.0 98

2、获取DataFrame的行索引、列索引、值

print("==================行索引===================")
print(df2.index)
print("==================列索引===================")
print(df2.columns)
print("=============dataframede值===================")
print(df2.values)
==================行索引===================
RangeIndex(start=0, stop=4, step=1)
==================列索引===================
Index(['名字', '数学', '语文'], dtype='object')
=============dataframede值===================
[['Dkd' 25.1 98]
 ['Hff' 26.0 98]
 ['Zfs' 27.0 98]
 ['Lghgd' 28.0 98]]
# 重置行索引的值
df2.index=["one","two","three","four"]

df2
  名字 数学 语文
one Dkd 25.1 98
two Hff 26.0 98
three Zfs 27.0 98
four Lghgd 28.0 98

3、DataFrame数据获取和修改

(1)可以直接通过列索引获取指定列的数据, eg: df[column_name]

(2)如果需要获取指定行的数据的话,需要通过ix方法来获取对应行索引的行数据,eg: df.ix[index_name]

# 通过列索引获取一整列的值

df2["名字"]
one        Dkd
two        Hff
three      Zfs
four     Lghgd
Name: 名字, dtype: object
# 通过列索行获取一整列的值
print(df2.ix['one'])
print("=========================")
df2.ix[['one','three'],'名字']
名字     Dkd
数学    25.1
语文      98
Name: one, dtype: object
=========================
one      Dkd
three    Zfs
Name: 名字, dtype: object
# 通过列索引,修改整一列的值
df2['数学']=[98,98,98,98]

df2
  名字 数学 语文
one Dkd 98 98
two Hff 98 98
three Zfs 98 98
four Lghgd 98 98
# 通过行索引修改整行的数值
df2.ix['one']=['Drt',100,100]

df2
  名字 数学 语文
one Drt 100 100
two Hff 98 98
three Zfs 98 98
four Lghgd 98 98
df2.loc['one']
名字    Drt
数学    100
语文    100
Name: one, dtype: object
pandas中的DataFrame

pandas中的DataFrame

pandas中的DataFrame