圆月山庄资源网 Design By www.vgjia.com
如下所示:
# -*-coding:utf-8-*- from pandas import DataFrame import pandas as pd import numpy as np """ 获取行列数据 """ df = DataFrame(np.random.rand(4, 5), columns=['A', 'B', 'C', 'D', 'E']) print df print df['col_sum'] = df.apply(lambda x: x.sum(), axis=1) # 横向求和,axis=1表示横向 df.loc['row_sum'] = df.apply(lambda x: x.sum()) # loc获取一整列的数据,对一列数据进行求和 print df print dd = pd.DataFrame(np.arange(0, 60, 2).reshape(10, 3), columns=list('abc')) # loc获取一整列的数据 print dd print print dd.loc[0:len(dd), 'a'] print print dd.loc[0:3, ['a', 'b']] print print dd.loc[[1, 5], ['b', 'c']] print '--------------------------------------' # iloc获取某个位置的元素,或者某个区域的元素 print dd.iloc[1, 1] print dd.iloc[0:3, [0, 1]] print dd.iloc[[0, 3, 5], 0:2] print '--------------------------------------' """ 去重函数 drop_duplicates() """ from pandas import Series, DataFrame data = DataFrame({'k': [1, 1, 2, 2]}) print data print type(data) # <class 'pandas.core.frame.DataFrame'> print isduplicates = data.duplicated() # duplicated()判断是否是重复的项 print isduplicates print type(isduplicates) # <class 'pandas.core.series.Series'> print data = data.drop_duplicates() # drop_duplicates()移除重复的项 print data print type(data) # <class 'pandas.core.frame.DataFrame'> print '-------------------------------------------------' """ Pandas.DataFrame 读取、合并、修改列数据、新增列、分组、分组数据计算 """ import numpy as np import pandas as pd from pandas import Series, DataFrame from datetime import timedelta, datetime from dateutil.parser import parse """ 读写csv文件 """ # 读取csv文件 df = pd.read_csv('data_english.csv', encoding='gbk') # print df print type(df) # <class 'pandas.core.frame.DataFrame'> print df.columns # 所有列的标签 print df.index # 所有行的标签 print df.book_id # 选择某一列,可以使用df.book_id ,也可以使用df['book_id'] print type(df.book_id) # <class 'pandas.core.series.Series'> print np.array(df.book_id) # 将Series转换为numpy的darray格式 print '---------------------------------------------------------' # 写入csv文件 # df.to_csv('dat.csv', index=False, encoding='gbk') # index=False表示不把index写入文件 """ 行列的选取 """ print df.read_name # 选择一列 print df[:3] # 选择前3行 print df.loc[:, ('read_num', 'read_name')] # df.loc[行标签,列标签] print df.iloc[2, 4] # df.iloc[行位置,列位置] print df.ix[2, 4] # df.ix[行位置或行标签,列位置或列标签] # bool判断 print df[df.read_name == u'山问萍'].head() # 获取符合条件的行列 print df[(df.read_name == u'山问萍') & (df.book == u'植物生理学实验教程')] # 多个条件 print '----------------------------------------------' """ 两个df相merge """ # pd.concat([df1, df2]) # 两个df的column都一样,index不重复(增加列) # pd.concat([df1, df2], axis=1) # 两个df的index都一样,column不重复(增加行) """ 增加列,删除列,重命名某一列 """ # df['new_col'] = xxx # 直接增加一列,加到最后一列 # df.insert[1, 'new_col'] # 使用df.insert 插入一列,可以设置这一列的位置 # del df['one_col'] # 直接使用del进行删除,删除某一列 # df = df.rename(columns={'old_name': 'new_name'}) # 重命名某一列 # df = df.rename(columns={'old_name': 'new_name'}, inplace=True) # print '--------------------------------------------------------' """ apply(): 对dataframe的内容进行批量处理,比循环更快 map(), agg():对分组的结果再分别进行不同的操作 """ """ 数据合并 """ import numpy as np import pandas as pd data1 = pd.DataFrame({'level': ['a', 'b', 'c', 'd'], 'number': [1, 3, 5, 7]}) data2 = pd.DataFrame({'level': ['a', 'b', 'c', 'e'], 'number': [2, 3, 4, 5]}) print data1 print data2 print pd.merge(data1, data2, on='level') # 合并,内连接 data3 = pd.DataFrame({'level1': ['a', 'b', 'c', 'd'], 'number': [1, 3, 5, 7]}) data4 = pd.DataFrame({'level2': ['a', 'b', 'c', 'e'], 'number': [2, 3, 4, 5]}) print pd.merge(data3, data4, left_on='level1', right_on='level2') print pd.merge(data3, data4, left_on='level1', right_on='level2', how='left') print '----------------------------------------' """ merge参数说明: left和right:两个不同的DataFrame how:合并的方式-->inner内连接,right右连接,left左连接,outer外连接,默认为inner on:用于连接的列索引名称,必须存在于两个DataFrame对象中 left_on: right_on: left_index: right_index: sort:默认为True,将合并的数据进行排序 suffixes:当列名相同时,合并后,自动添加后缀名称,默认为(_x, _y) copy:默认为True,复制数据结构 indicator: """ """ 重叠数据合并 """ data3 = pd.DataFrame({'level': ['a', 'b', 'c', 'd'], 'number1': [1, 3, 5, np.nan]}) data4 = pd.DataFrame({'level': ['a', 'b', 'c', 'e'], 'number2': [2, np.nan, 4, 5]}) print data3.combine_first(data4) # 相同标签下的内容优先显示data3的内容,如果某个数据缺失,就用另外一个数据补上 """ 数据重塑和轴向旋转 数据重塑:reshape() 轴向旋转:unstack(),stack() """ data = pd.DataFrame(np.arange(12).reshape(3, 4), columns=['a', 'b', 'c', 'd'], index=['wang', 'li', 'zhang']) print data print data.unstack() # 轴向旋转 print '---------------------------------' """ 数据转换 """ data = pd.DataFrame({'a': [1, 3, 3, 4], 'b': [1, 3, 3, 5]}) print data print data.duplicated() # 判断是否重复行 print data.drop_duplicates() # 去除重复行 """ 替换值 """ data = pd.DataFrame({'a': [1, 3, 3, 4], 'b': [1, 3, 3, 5]}) print data.replace(1, 2) # 凡是数据1,全部替换成数据2 print data.replace([1, 4], np.nan) # 凡是数据1,4,全部替换成np.nan """ 数据分段 """ data = [11, 15, 18, 20, 25, 26, 27, 24] bins = [15, 20, 25] print data print pd.cut(data, bins)
以上这篇Pandas 数据处理,数据清洗详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
Pandas,数据处理
圆月山庄资源网 Design By www.vgjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
圆月山庄资源网 Design By www.vgjia.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年11月07日
2024年11月07日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]