我是靠谱客的博主 香蕉期待,最近开发中收集的这篇文章主要介绍python pandas 对dataframe行列的各种操作对dataframe 行(index),列(columns)的一些操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

对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)的一些操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部