pandas中dataFrame的取值和计算操作

dataFrame中的值以矩阵的形式存在,在访问值时需要带上行索引或者列索引。
1、dataFrame简单的取值方法

import pandas as pd

def createDataFrame():
    d = {
        'a':[1,2,3,4,5],
        'b':[6,2,3,6,0],
        'c':[4,2,3,6,7],
        'd':[5,3,2,4,5],
        'e':[6,7,4,5,8]
    }
    df = pd.DataFrame(d)
    #打印出dataFrame
    print(df)

if __name__ == '__main__':
    createDataFrame()

(1)输出前3行数据

print(df.head(3))

打印结果为:

   a  b  c  d  e
0  1  6  4  5  6
1  2  2  2  3  7
2  3  3  3  2  4

(2)输出后2行数据:

  print(df.tail(2))

打印结果为:

   a  b  c  d  e
3  4  6  6  4  5
4  5  0  7  5  8

(3)输出第3行数据:

#loc通过标签来选择数据
print(df.loc[2])#这里的2表示行索引
#iloc通过位置来选择数据
print(df.iloc[2])#这里的2表示行位置
#打印结果
a    3
b    3
c    3
d    2
e    4

(4)输出第2列数据

print(df['b'])
#打印输出
0    6
1    2
2    3
3    6
4    0
#从dataFrame里取出的行或列的类型为Series,其可以看做为一个字典,对Series取值:
x = df.iloc[2]
print(x[2])
#打印输出
3
#可以自荐将Series转换为一个list
x = list(df.iloc[2])

(5)查看行名

   print(df.index)

打印输出:

RangeIndex(start=0, stop=5, step=1)

(6)查看列名

   print(df.columns)

打印输出:

Index(['a', 'b', 'c', 'd', 'e'], dtype='object')

(6)查看所有数据值

   print(df.values)

打印输出:

[[1 6 4 5 6]
 [2 2 2 3 7]
 [3 3 3 2 4]
 [4 6 6 4 5]
 [5 0 7 5 8]]

(7)查看行列数

  print(df.iloc[:,0].size) #行数
  print(df.columns.size) #列数

打印输出:

5
5

2、复杂的dataFrame取值操作(对dataFrame中的数据进行筛选)
创建一个dataFrame例子:

import numpy as np
import pandas as pd


def GroupbyDemo():
    df = pd.DataFrame({'key1': [1, 2, 1, 2, 1],
                       'key2': [10, 20, 30, 40, 50],
                       'data1': np.random.randn(5),
                       'data2': np.random.randn(5)})
    print(df)

if __name__ == '__main__':
    GroupbyDemo()

打印结果:

   key1  key2     data1     data2
0     1    10  0.510140 -0.272037
1     2    20  1.303937 -0.296393
2     1    30  0.984371  0.005988
3     2    40 -1.257891 -1.089489
4     1    50  0.129426 -1.011806

(1)筛选某列中大于某一值得数据:

print(df[df.key1>1])

打印结果为:

   key1  key2     data1     data2
1     2    20  1.006815 -1.191766
3     2    40  0.392499 -0.906492

(2)筛选第一列大于1且第二列大于30的数据

    print(df[(df.key1>1) & (df.key2>30)])

打印结果为:

   key1  key2     data1     data2
3     2    40  0.681879  0.206709

(3)筛选第一列大于1或第二列大于30的数据

   print(df[(df.key1>1) | (df.key2>30)])

打印结果为:

   key1  key2     data1     data2
1     2    20 -2.454197  1.091813
3     2    40  0.481552  0.763660
4     1    50  1.639578  0.740787

3、对dataFrame进行函数操作
(1)转置

print(df.T)

输出结果:

   0  1  2  3  4
a  1  2  3  4  5
b  6  2  3  6  0
c  4  2  3  6  7
d  5  3  2  4  5
e  6  7  4  5  8

4、删除dataFrame中的某行
(1)删除索引为ac的2行

data.drop(index=list('ac'))
或
data.drop(index=['a','c'])

(2)删除列名为1,3的2列

data.drop([1,3],axis=1)

5、遍历dataframe

for index, row in df.iterrows():
print(row['Sigma'])
#输出一个值
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,386评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,142评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,704评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,702评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,716评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,573评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,314评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,230评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,680评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,873评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,991评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,706评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,329评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,910评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,038评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,158评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,941评论 2 355

推荐阅读更多精彩内容