Python数据分析[1] - python基础

Python基础

数据类型

tuple

tuple是一个固定长度,不可修改的对象

tup = (1, 2, 3)
tup
(1, 2, 3)

tuple可以tuple中的一个元素

nested_tup = (4, 5, 6), (7, 8)
nested_tup
((4, 5, 6), (7, 8)) 

tuple可以将一个Sequence转换为tuple

tuple([4, 0, 2]) 
(4, 0, 2)
tuple('string')
('s', 't', 'r', 'i', 'n', 'g')

tuple内的元素不可以修改,但是可以使用方法append添加元素

tup = tuple(['foo', [1, 2], True])
tup[1].append(3)
tup
('foo', [1, 2, 3], True)
tuple拆包

如果使用tuple-like表达的一系列元素来分配变量,该变量会被拆解开

tup = 4, 5, (6, 7)
a, b, (c, d) = tup
d
7

在python中,可以使用语法*rest来表示剩余的所有元素

tup = 4, 5, (6, 7)
a, *rest = tup
a
Out[41]: 4

rest
Out[42]: [5, (6, 7)]
tuple方法

count可以用来计算tuple中某个元素的数量

a = (1, 2, 2, 2, 3, 4, 2)

a.count(2)
Out[45]: 4

List

与tuple相反,list的长度是可变的

tup = (1, 2, 3)
a = list(tup)

a
Out[58]: [1, 2, 3]

a[1] = 0
a

Out[60]: [1, 0, 3]
list方法

sort方法可以用不同的方式对list进行排序

a = [2,3,1,4,5]
a.sort()
a
Out[66]: [1, 2, 3, 4, 5]
a = ['康德','苏格拉底','黑格尔','亚里士多德']
a.sort(key = len)
a
Out[69]: ['康德', '黑格尔', '苏格拉底', '亚里士多德']
list分割

list[x:y] 可以从第x个元素开始,到第y个元素之前

seq = [1, 2, 3, 4, 5, 6, 7]
seq[2:4]
Out[74]: [3, 4]

负数可以从末尾开始计数

seq[-4:-2]
Out[77]: [4, 5]

使用list[::x]可以对list进行倒序或者隔元素提取等操作

seq[::2]
Out[78]: [1, 3, 5, 7]
seq[::-1]
Out[79]: [7, 6, 5, 4, 3, 2, 1]

dict

dict是python中最重要以及最常用的数据类型之一,dict也被常叫为hash map(哈希表)associative array
dict的概念为数据中存在一一对应的key和value

d1 = {'a':1, 'b':[2, 3], 'c':(4, 5, 6)}

d1['c']
Out[84]: (4, 5, 6)

如果直接assign一个dict中不存在的key,则会添加一个元素

d1[4] = 4

d1
Out[86]: {'a': 1, 'b': [2, 3], 'c': (4, 5, 6), 4: 4}

dict中的元素同样可以修改

d1[4] = 5

d1
Out[88]: {'a': 1, 'b': [2, 3], 'c': (4, 5, 6), 4: 5}
dict方法

方法del()和pop()可以删除一个元素,但是pop则会返回该key的value

d1
Out[88]: {'a': 1, 'b': [2, 3], 'c': (4, 5, 6), 4: 5}

result = d1.pop(4)

result
Out[90]: 5

d1
Out[91]: {'a': 1, 'b': [2, 3], 'c': (4, 5, 6)}

del d1['b']

d1
Out[93]: {'a': 1, 'c': (4, 5, 6)}

update方法可以更行数据

d1.update({'a': 2, 'b': 2})

d1
Out[96]: {'a': 2, 'c': (4, 5, 6), 'b': 2}

方法keys和values则可以提取dict中的数据

d1.values()
Out[97]: dict_values([2, (4, 5, 6), 2])

d1.keys()
Out[98]: dict_keys(['a', 'c', 'b'])

使用zip方法可以将两个sequence组成为dict

mapping = dict(zip(range(5), reversed(range(5))))

mapping
Out[102]: {0: 4, 1: 3, 2: 2, 3: 1, 4: 0}

set

set是一个无序、去重的集合。

set([2,2,1,3,3])
Out[103]: {1, 2, 3}

set与set可以进行交集并集等运算

a = set([1,2,3])
b = set([2,3,4])

a.union(b)
Out[106]: {1, 2, 3, 4}

a|b
Out[107]: {1, 2, 3, 4}

a.intersection(b)
Out[108]: {2, 3}

a&b
Out[109]: {2, 3}
其他set方法

Reference
Python for Data Analysis,2nd Edition

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

推荐阅读更多精彩内容