概述
对dataframe 行(index),列(columns)的一些操作
首先构建一个dataframe
import pandas as pd
d={'one':{'a':1,'b':2,'c':3,'d':4},'two':{'a':5,'b':6,'c':7,'d':8},'three':{'a':9,'b':10,'c':11,'d':12}}
df=pd.DataFrame(d)
print(df)
构建的dataframe为:
one two three
a 1 5 9
b 2 6 10
c 3 7 11
d 4 8 12
查看dataframe的大小
print(df.shape)
输出结果是一个元组,index在前,columns在后:
(4, 3)
利用元组的性质,可以分别查看dataframe有多少行,多少列:
print('该dataframe共有%s行'%df.shape[0])
print('该dataframe共有%s列'%df.shape[1])
输出结果为:
该dataframe共有4行
该dataframe共有3列
查看dataframe中columns(列名)
print(df.columns)
输出结果为:
Index([‘one’, ‘two’, ‘three’], dtype=‘object’)
#dtype即datatype,数据的类型
这其实就是一个列表,列表内容为:[‘one’, ‘two’, ‘three’]。可以按照列表的一般性质处理。
查看dataframe中index(行名)
print(df.index)
输出结果为:
Index([‘a’, ‘b’, ‘c’, ‘d’], dtype=‘object’)
也是一个列表
查看每一列数据的类型(dtype)
print(df.dtypes)
输出结果为:
one int64
two int64
three int64
dtype: object
查看行列的内容
loc比较适合查看行名已知的某一行的内容;
iloc比较适合查看位置已知的数据
查看第一列的内容:
通过label查看
print(df[df.columns[0]])
拆开来看刚刚的命令是做了什么:
#第一步:获取列名的list
col=df.columns
#第二步:找出第一列的列名
col_first=col[0]
#第三步:通过列名获取该列的内容
print(df[col_first])
通过position查看
df.iloc[:,0]
输出结果为:
a 1
b 2
c 3
d 4
Name: one, dtype: int64
其实就是一个series
查看第一行的内容:
通过label查看
print(df.loc[df.index[0]])
通过position查看
print(df.iloc[0])
输出结果为:
one 1
two 5
three 9
Name: a, dtype: int64
这也是一个series
查看前两行的内容:
通过head函数查看
print(df.head(2))
通过label查看
print(df.loc[[df.index[0],df.index[1]]])
但是一定要记得,dataframe处理的都是数组形式
df.loc[df.index[0],df.index[1]]就会报错
通过position查看
print(df.iloc[0:2])#记得一定是0:2
#也可以写成print(df.iloc[[0,1]]),即:用[0,1]替换0:2
输出结果为:
one two three
a 1 5 9
b 2 6 10
查看后两行的内容:
通过tail函数查看
print(df.tail(2))
通过label查看
print(df.loc[[df.index[-2],df.index[-1]]])
通过position查看
print(df.iloc[-3:-1])
输出结果为:
one two three
c 3 7 11
d 4 8 12
查看特定行特定列内容:
例如:查看第三行第二列的内容:
通过label查看
df.at[df.index[2],df.columns[1]]
#先行后列,从0位开始计数
#print(df[df.columns[1]].loc[df.index[2]])也可以
通过position查看
print(df.iloc[2,1])
#先行后列,而且都是从0位开始计数的
#print(df.iat[2,1])也可以,效率更高
输出结果为:
7
查看特定列之间特定行之间的内容:
例如:查看2-3行,1-2列的内容
通过position查看
print(df.iloc[1:3,0:2])
输出结果为:
one two
b 2 6
c 3 7
查看每一列数据的整体特征
print(df.describe())
输出结果为:
one two three
count 4.000000 4.000000 4.000000
mean 2.500000 6.500000 10.500000
std 1.290994 1.290994 1.290994
min 1.000000 5.000000 9.000000
25% 1.750000 5.750000 9.750000
50% 2.500000 6.500000 10.500000
75% 3.250000 7.250000 11.250000
max 4.000000 8.000000 12.000000
对dataframe进行倒置
只需要在dataframe后面加上“.T”,就可以将其倒置
print(df.T)
输出结果为:
a b c d
one 1 2 3 4
two 5 6 7 8
three 9 10 11 12
最后
以上就是香蕉期待为你收集整理的python pandas 对dataframe行列的各种操作对dataframe 行(index),列(columns)的一些操作的全部内容,希望文章能够帮你解决python pandas 对dataframe行列的各种操作对dataframe 行(index),列(columns)的一些操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复