Learn_for_Pandas

Learn_for_Pandas

1.Series

Series类似于一维向量组,只不过包含了value和index,如

import pandas as pd
obj = pd.Series([4, 7, -5, 3])
#obj = 
0   4
1   7
2   -5
3   3
obj.values#返回Series的值
obj.index#返回索引值
#可以根据index进行索引
obj[x]或者obj[[x1, x2,..., x3]]#x可以是整数型也可以为字符串
#遮罩层
obj[obj > value],过滤得到Series中值大于特定value的Series,不改变obj本身值

#可以将Python中的字典dict直接转换为Series
data = {key1:value1, key2:value2, ..}
obj = pd.Series(data)#obj中的index为key,value为字典中的value
pd.isnull()和pd.notnull()处理nan值
#####Series和Series的index都有name对象
obj.name = xxx
obj.index.name = xxx
#####Series的index可以被赋值
obj.index = [str1/int1, ...]      
  • 创建Series
# 1
import pandas as pd
countries = ['中国', '美国', '澳大利亚']
countries_s = pd.Series(countries)
# 2
country_dicts = {'CH': '中国',
                 'US': '美国',
                 'AU': '澳大利亚'}
country_dict_S = pd.Series(country_dicts)
#给索引命名
country_dict_s.index.name = 'Code'
#给数据命名
country_dict_s.name = 'Country'
  • 处理缺失数据
    字符串类型处理为None,数据类型处理为Nan
  • Series 索引
    通过索引判断数据是否存在,使用in iloc 按index值索引,从0开始,如iloc[0]; loc 按key值进行索引,如loc['key']或者直接['key’]索引也可以同时操作多个 xxx.iloc[[0, 2, 5]]#例子 xxx.loc[['a', 'b']]#
  • 向量化操作

2.DataFrame

可以简单理解为DataFrame是包含行和列索引的矩阵。
当索引index(包含行和列)大于value值得个数,对应的值填为nan;
当value多于index的话,index决定DataFrame最后的形状

列索引与行索引

列索引:df.columns_index或者df['columns_index']
行索引:df.loc['rows_index']或者df.iloc[int_num]
混合索引:df.columns_index.loc['rows_index']/ df.columns_index.iloc[int_num]/ df.columns_index['rows_index'] #先列后行 df['columns_index']XXX等价
df.loc[].columns_index /df.loc[]['columns_index']#先行后列 df.iloc[int_num]XXX等价

del 以删除字典的方式删除指定的一列

创建新的column时不能采用df.columns_index,只能采用df['columns_index'] = xx
删除列同样也只能采用del df['columns_index']方式
注意: 创建或者删除colums是在原df种立即生效的,建议在操作df前,使用copy备份一份
####### 当data是一个包含字典的字典,DataFrame的处理
dicts = {key1:{sub_key1:value1, sub1_key1:value2}, key2:{sub_key2:value1, sub1_key2:value2, sub2_key2:value3}}
pandas处理这样的数据时,将外层的key作为columns,内层的key作为rows, 对于对应index不存在的value默认填充为nan
####### dataframe 可以为index和columns均设置名称
df.index.name = str1
df.columns.name = str2
不同于Python的set,pandas可以使用重复的标签
Index的一些方法
方法|描述
append| 在已有的index增加新的index,并返回
difference| index1.difference(index2),返回index1中不在index2中的元素
intersection| index1.intersection(index2),返回index1与index2的交集
union|index1.intersection(index2),返回index1与index2的并集
isin|index1.isin(index2),index1中对应的元素存在于index2中,则index1对应位置为True,否则为False
delete| index.delete(loc),删除对应位置的元素
drop|index.drop(labels)
insert|index.insert(loc, value)
is_monotonic|
is_unique|index.is_unique 如果元素唯一,返回True,否则False
unique| index.unique(),返回唯一元素,类似于set

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

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,423评论 0 13
  • 开始吧! pandas主要用于数据分析,准确而言,是对数值的分析,而Python对Excel和SPSS的超越之处就...
    且行歌阅读 1,484评论 0 1
  • pandas 数据索引与选取 我们对 DataFrame 进行选择,大抵从这三个层次考虑:行列、区域、单元格。其对...
    周倜吉阅读 51,362评论 1 13
  • 最近在写个性化推荐的论文,经常用到Python来处理数据,被pandas和numpy中的数据选取和索引问题绕的比较...
    shuhanrainbow阅读 4,514评论 6 19