概述
import numpy as np
import pandas as pd
from pandas import *
from numpy import *
data=DataFrame(np.arange(16).reshape(4,4),index=list("ABCD"),columns=list("wxyz"))
print(data)
# w x y z
#A 0 1 2 3
#B 4 5 6 7
#C 8 9 10 11
#D 12 13 14 15
#取前两行数据
print(data[0:2])
print(type(data[0:2]))
# w x y z
#A 0 1 2 3
#B 4 5 6 7
#<class 'pandas.core.frame.DataFrame'>
#取行数据iloc,loc;取列数据
print(data.loc["A"])
print(data.iloc[0])
#w 0
#x 1
#y 2
#z 3
#Name: A, dtype: int32
#w 0
#x 1
#y 2
#z 3
#Name: A, dtype: int32
print(data["w"])
print(data.loc[:,"w"])
#A 0
#B 4
#C 8
#D 12
#Name: w, dtype: int32
#A 0
#B 4
#C 8
#D 12
#Name: w, dtype: int32
#获取dataframe行列数
print(len(data))
print(data.columns.size)
#4
#4
#获取行列名
print(data.columns)
print(data.index)
#Index(['w', 'x', 'y', 'z'], dtype='object')
#Index(['A', 'B', 'C', 'D'], dtype='object')
#数据切片
print(data.loc[:,["x","z"]])
print(data.loc[["A","B"],"x":"z"])#行列标签前后都闭合
# x z
#A 1 3
#B 5 7
#C 9 11
#D 13 15
# x y z
#A 1 2 3
#B 5 6 7
print(data.iloc[1:3,1:3])
print(data.iloc[[0,2],[0,2]])
# x y
#B 5 6
#C 9 10
# w y
#A 0 2
#C 8 10
#特殊条件选取行列
print(data[data>2])
# w x y z
#A NaN NaN NaN 3
#B 4.0 5.0 6.0 7
#C 8.0 9.0 10.0 11
#D 12.0 13.0 14.0 15
print(data[data.w>5])
# w x y z
#C 8 9 10 11
#D 12 13 14 15
print(data[data.w==data.w.max()])
# w x y z
#D 12 13 14 15
print(data[data.w.isin([4,8])])
# w x y z
#B 4 5 6 7
#C 8 9 10 11
#对默认每一列数据求平均值
print(data.mean())
print(data["x"].value_counts())
#w 6.0
#x 7.0
#y 8.0
#z 9.0
#dtype: float64
#13 1
#5 1
#9 1
#1 1
#Name: x, dtype: int64
print(data.describe())
# w x y z
#count 4.000000 4.000000 4.000000 4.000000
#mean 6.000000 7.000000 8.000000 9.000000
#std 5.163978 5.163978 5.163978 5.163978
#min 0.000000 1.000000 2.000000 3.000000
#25% 3.000000 4.000000 5.000000 6.000000
#50% 6.000000 7.000000 8.000000 9.000000
#75% 9.000000 10.000000 11.000000 12.000000
#max 12.000000 13.000000 14.000000 15.000000
#给dataframe重新排序
data.sort_values(by="w",ascending=False,inplace=True)
print(data)
# w x y z
#D 12 13 14 15
#C 8 9 10 11
#B 4 5 6 7
#A 0 1 2 3
data.sort_values(by="D",axis=1,ascending=False,inplace=True)
print(data)
# z y x w
#D 15 14 13 12
#C 11 10 9 8
#B 7 6 5 4
#A 3 2 1 0
new_index=list("ABCD")
print(data.reindex(new_index))
# z y x w
#A 3 2 1 0
#B 7 6 5 4
#C 11 10 9 8
#D 15 14 13 12
参考:https://www.jb51.net/article/141725.htm
以上,记录本人学习过程
最后
以上就是结实母鸡为你收集整理的dataframe常用操作:取行列,切片,排序的全部内容,希望文章能够帮你解决dataframe常用操作:取行列,切片,排序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复