pandas学习笔记

pandas学习笔记

1.安装

brew install python3
wget https://bootstrap.pypa.io/get-pip.py | xargs python3
pip3 install pandas

2.学习代码-Series

  • code 1
from pandas import Series, DataFrame
import pandas as pd

s = Series([100, 'python', 'soochow', 'qiwsir'])
print(s)

0 100
1 python
2 soochow
3 qiwsir
dtype: object

print(s.values)

[100 'python' 'soochow' 'qiwsir']

print(s.index)

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

s2 = Series([100, 'python', 'soochow', 'qiwsir'], index=['mark', 'title', 'university', 'name'])
print(s2)

mark 100
title python
university soochow
name qiwsir
dtype: object

print(s2.index)

Index(['mark', 'title', 'university', 'name'], dtype='object')

print(s2['name'])

qiwsir

s2['name'] = 'aoi'
print(s2)

mark 100
title python
university soochow
name aoi
dtype: object

sd = {
  'python': 8000, 
  'c': 8100,
  'php': 4000
}
s4 = Series(sd)
print(s4)

dtype: object
c 8100
php 4000
python 8000
dtype: int64

s6 = Series(sd, index=['java', 'python', 'c', 'php'])
print(s6)

java NaN
python 8000.0
c 8100.0
php 4000.0
dtype: float64

alist = ['java', 'perl']
s5 = Series(sd, index=alist)
print(s5)

java NaN
perl NaN
dtype: float64

print(pd.isnull(s6))

java True
python False
c False
php False
dtype: bool

print(pd.notnull(s6))

java False
python True
c True
php True
dtype: bool

print(s6.isnull())

java True
python False
c False
php False
dtype: bool

s6.index = ['p1', 'p2', 'p3', 'p4']
print(s6)

p1 NaN
p2 8000.0
p3 8100.0
p4 4000.0
dtype: float64

s3 = Series([3, 9, 4, 7], index = ['a', 'b', 'c', 'd'])
print(s3)

a 3
b 9
c 4
d 7
dtype: int64

print(s3[s3 > 5])

b 9
d 7
dtype: int64

print(s3 * 5)

a 15
b 45
c 20
d 35
dtype: int64

print (s5 + s6)

java NaN
p1 NaN
p2 NaN
p3 NaN
p4 NaN
perl NaN
dtype: float64

3.学习代码-DataFrame

import pandas as pd
from pandas import Series, DataFrame

data = {
  'name': ['yahoo', 'google', 'facebook'],
  'marks': [200, 400, 800],
  'price': [9, 3, 7]
}
f1 = DataFrame(data)
print (f1)

marks name price
0 200 yahoo 9
1 400 google 3
2 800 facebook 7

f2 = DataFrame(data, columns=['name', 'price', 'marks'])
print (f2)

name price marks
0 yahoo 9 200
1 google 3 400
2 facebook 7 800

f3 = DataFrame(data, columns=['name', 'price', 'marks', 'debt'], index=['a', 'b', 'c'])
print (f3)

name price marks debt
a yahoo 9 200 NaN
b google 3 400 NaN
c facebook 7 800 NaN

new_data = {
  'lang': {
    'firstline': 'python',
    'secondline': 'java'
  },
  'price': {
    'firstline': 8000
  }
}
f4 = DataFrame(new_data)
print (f4)

lang price
firstline python 8000.0
secondline java NaN

f4 = DataFrame(new_data, index=['firstline', 'secondline', 'thirdline'])
print (f4)

lang price
firstline python 8000.0
secondline java NaN
thirdline NaN NaN

print (f3.columns)

Index(['name', 'price', 'marks', 'debt'], dtype='object')

print (f3['name'])

a yahoo
b google
c facebook
Name: name, dtype: object

f3['debt'] = 80.1
print (f3)

name price marks debt
a yahoo 9 200 80.1
b google 3 400 80.1
c facebook 7 800 80.1

sdebt = Series([2.2, 3.3], index=['a', 'c'])
f3['debt'] = sdebt
print (f3)

name price marks debt
a yahoo 9 200 2.2
b google 3 400 NaN
c facebook 7 800 3.3

f3['price']['c'] = 300
print (f3)

name price marks debt
a yahoo 9 200 2.2
b google 3 400 NaN
c facebook 300 800 3.3

4.pandas使用

  • data
name,physics,python,math,english
Google,100,100,25,12
Facebook,45,54,44,88
Twitter,54,76,13,91
Yahoo,54,452,26,100
import pandas as pd

# 1
marks = pd.read_csv('marks.csv')
print (marks)

# 2
marks2 = pd.read_table('marks.csv', sep=',')
print (marks2)

​ name physics python math english
0 Google 100 100 25 12
1 Facebook 45 54 44 88
2 Twitter 54 76 13 91
3 Yahoo 54 452 26 100

print (marks.index)

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

print (marks.columns)

Index(['name', 'physics', 'python', 'math', 'english'], dtype='object')

print (marks['name'][1])

Facebook

print (marks[:1])

​ name physics python math english
0 Google 100 100 25 12

print (marks[1:2])

​ name physics python math english
1 Facebook 45 54 44 88

print (marks['physics'])

​ name physics python math english
1 Facebook 45 54 44 88
0 100
1 45
2 54
3 54
Name: physics, dtype: int64

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

推荐阅读更多精彩内容

  • 数据结构 1. Series Series简介及创建 Series创建带标签的一维数组,其中可以包含任意数据类型(...
    小白将阅读 1,034评论 0 4
  • 1. 安装 如果做数据分析用途建议使用Anaconda,自带pandas numy 以及很多库,还有集成开发环境S...
    steveysy阅读 23,529评论 0 37
  • Pandas 中的两个最重要的数据结构是 Series 和 DataFrame,其约定的引用方式为: Series...
    拓季阅读 167评论 0 4
  • 本次笔记内容:合并/删除/计数重复行:groupby的用法去掉一个dataframe中,行和为0的行data fr...
    GPZ_Lab阅读 3,564评论 0 2
  • 热爱绘画~热爱生活~
    梦龙fighting8阅读 1,267评论 16 12