✅作者简介:大家好我是Xlong,一枚正在学习COMSOL、Python的工科研究僧
📃个人主页: Xlong的个人博客主页
🔥系列专栏: Python大数据分析
💖如果觉得博主的文章还不错的话,请👍支持一下博主哦🤞
目录
方法2: 可以通过列名(字典数据类型里的key值)来索引列,再通过跟ndarray相同的索引方式索引行
方法3:DataFrame.loc 和.iloc两种读取方法(建议使用)
一、 DataFrame功能介绍
1.1 DataFrame元素的读取
要注意区别和二维数组的读取方式不同!
import numpy as np
arr=np.ones([2,3])
print(arr,'\n')
print(arr[0,1])
运算结果:
[[1. 1. 1.]
[1. 1. 1.]]1.0
import numpy as np
import pandas as pd
arr=np.ones([2,3])
print(arr,'\n')
df=pd.DataFrame(arr,index=['第一行','第二行'],columns=['第一列','第二列','第三列'])
print(df)
#print(df[0,1]) #会报错:KeyError: (0, 1)
运行结果:
[[1. 1. 1.]
[1. 1. 1.]]第一列 第二列 第三列
第一行 1.0 1.0 1.0
第二行 1.0 1.0 1.0
DataFrame不支持以刚才代码中的方式读取数据,可以认为其各列是以字典形式储存,不支持按序号索引。
方法1:可以将DataFrame转化成ndarray后读取
import numpy as np
import pandas as pd
arr=np.ones([2,3])
print(arr,'\n')
df=pd.DataFrame(arr,index=['第一行','第二行'],columns=['第一列','第二列','第三列'])
print(df,'\n')
#print(df[0,1]) #会报错:KeyError: (0, 1)
# values属性会返回一个ndarray数组
print(df.values,'\n')
print(type(df.values))
运行结果:
[[1. 1. 1.]
[1. 1. 1.]]第一列 第二列 第三列
第一行 1.0 1.0 1.0
第二行 1.0 1.0 1.0[[1. 1. 1.]
[1. 1. 1.]]<class 'numpy.ndarray'>
import numpy as np
import pandas as pd
arr=np.ones([2,3])
df=pd.DataFrame(arr,index=['第一行','第二行'],columns=['第一列','第二列','第三列'])
print(df.values,'\n')
print(df.values[0,1])
运行结果:
[[1. 1. 1.]
[1. 1. 1.]]1.0