一、DataFrame的创建
第一步:导入库
import numpy as np
import pandas as pd
第二步:有以下创建方法:
1、通过二维数组创建
(1)arr = np.array([
[1,2,3,4],
[5,6,7,8]
])
df01 = pd.DataFrame(arr)
print(df01)
输出结果:
0 1 2 3
0 1 2 3 4
1 5 6 7 8
(2)arr = np.array([
['Tom',76],
['Jack',99],
['Tony',88],
['Susan',87]
])
df01 = pd.DataFrame(arr, index=('one','two','three','four'), columns=('name','score'))
print(df01)
输出结果:
name score
one Tom 76
two Jack 99
three Tony 88
four Susan 87
2、通过字典的方法创建
(1)data = {
'姓名' : ['Tom', 'Jack', 'Bob', 'Susan'],
'性别' : ['男', '男', '男', '男'],
'工号' : ['001', '002', '003', '004'],
'薪资' : ['8000', '9000', '10000', '11000']
}
df01 = pd.DataFrame(data)
print(df01)
print('行索引:', df01.index)
print('列索引:', df01.columns)
print('数据:', df01.values)
输出结果:
姓名 性别 工号 薪资
0 Tom 男 001 8000
1 Jack 男 002 9000
2 Bob 男 003 10000
3 Susan 男 004 11000
行索引: RangeIndex(start=0, stop=4, step=1)
列索引: Index(['姓名', '性别', '工号', '薪资'], dtype='object')
数据: [['Tom' '男' '001' '8000']
['Jack' '男' '002' '9000']
['Bob' '男' '003' '10000']
['Susan' '男' '004' '11000']]
二、索引对象
1、不管是Series还是DataFrame对象,都有索引对象。
2、索引对象负责管理轴标签和其它元数据(eg:轴名称等等)
3、通过索引可以从Series、DataFrame中获取值或者对某个索引值进行重新赋值
4、Series或者DataFrame的自动对齐功能是通过索引实现的
三、DataFrame数据获取
1、可以直接通过列索引获取指定列的数据, eg: df[column_name]
2、如果需要获取指定行的数据的话,需要通过ix方法来获取对应行索引的行数据,eg: df.ix[index_name]
data = {
'姓名' : ['Tom', 'Jack', 'Bob', 'Susan'],
'性别' : ['男', '男', '男', '男'],
'工号' : ['001', '002', '003', '004'],
'薪资' : ['8000', '9000', '10000', '11000']
}
df01 = pd.DataFrame(data, index=('one','two','three','four'))
print(df01)
print(df01['薪资'])
print(df01.ix['one'])
输出结果:
姓名 性别 工号 薪资
one Tom 男 001 8000
two Jack 男 002 9000
three Bob 男 003 10000
four Susan 男 004 11000
one 8000
two 9000
three 10000
four 11000
Name: 薪资, dtype: object
姓名 Tom
性别 男
工号 001
薪资 8000
Name: one, dtype: object
四、DataFrame数据修改
1、 data = {
'姓名' : ['Tom', 'Jack', 'Bob', 'Susan'],
'性别' : ['男', '男', '男', '男'],
'工号' : ['001', '002', '003', '004'],
'薪资' : ['8000', '9000', '10000', '11000']
}
df01 = pd.DataFrame(data, index=('one','two','three','four'))
print('修改之前的数据:\n',df01)
df01['性别'] = ['男', '女', '男', '女']
df01['薪资'] = ['10000', '10000', '11000', '12000']
print('修改之后的数据:你\n',df01)
输出结果:
修改之前的数据:
姓名 性别 工号 薪资
one Tom 男 001 8000
two Jack 男 002 9000
three Bob 男 003 10000
four Susan 男 004 11000
修改之后的数据:
姓名 性别 工号 薪资
one Tom 男 001 10000
two Jack 女 002 10000
three Bob 男 003 11000
four Susan 女 004 12000