pandas读取某⼀单元格的值_pandas读取表格后的常⽤数据处
理操作
关键时刻,第⼀时间送达
本⽂已获原作者授权,欢迎分享转发python怎么读取excel某一列
今天给⼤家讲讲pandas读取表格后的⼀些常⽤数据处理操作。
这篇⽂章其实来源于⾃⼰的数据挖掘课程作业,通过完成⽼师布置的作业,感觉对于使⽤python中的pandas模块读取表格数据进⾏操作有了更深层的认识,这⾥做⼀个整理总结。
本⽂总结了⼀些通过pandas读取表格并进⾏常⽤数据处理的操作,更详细的参数应该关注官⽅参数⽂档1、读取10⾏数据
相关参数简介:header:指定作为列名的⾏,默认0,即取第⼀⾏的值为列名,数据为列名⾏以下的数据;若数据不含列名,则设定header = None。
sep:指定分隔符。如果不指定参数,则会尝试使⽤逗号分隔。
nrows:需要读取的⾏数(从⽂件头开始算起)tabledata = ad_excel('./hotel.xlsx', header=None, sep=',', nrows=10)
print(tabledata)2、对读取的数据重新定义列名
相关参数简介:names:⽤于结果的列名列表,如果数据⽂件中没有列标题⾏,就需要执⾏header=Nonename_columns = [' ','名字','类型', '城市', '地区', '地点', '评分', '评分⼈数', '价格']
tabledata = ad_excel('./hotel.xlsx', header=0, names=name_columns, sep=',', nrows=10)
print(tabledata)3、取出某列值为指定值的所有数据
这⾥我们做⼀个简单的遍历操作即可完成,取值使⽤的函数是ix。
更加详细的使⽤说明可以参考昨⽇「凹凸数据」的另⼀条推⽂,《ix | pandas读取表格后的⾏列取值改值操作》。name_columns = [' ','名字','类型', '城市', '地区', '地点', '评分', '评分⼈数', '价格']
tabledata = ad_excel('./hotel.xlsx', header=0, names=name_columns, sep=',')
hotel_name_list = []
for i in range(421):
if tabledata.ix[i,2] == '商务出⾏':
hotel_name_list.append(tabledata.ix[i,1])
print(hotel_name_list)4、取出某⼀列的数值是缺失值的数据
这⾥开始出现缺失值,提⼀下缺失值相关的两个参数:na_values:默认会将'-1.#IND', '1.#QNAN', '1.#IND', '-1.#QNAN', '#N/A
N/A','#N/A', 'N/A', 'NA', '#NA', 'NULL', 'NaN', '-NaN', 'nan', '-nan', '', 转换为NaN,且na_values参数还⽀持定义另外的应处理为缺失值的值
原版解释:na_values
: scalar, str, list-like, or dict, default None
Additional strings to recognize as NA/NaN. If dict passed, specific per-column NA values. By default the following values are interpreted as NaN: '-1.#IND', '1.#QNAN', '1.#IND', '-1.#QNAN', '#N/A N/A','#
N/A', 'N/A', 'NA', '#NA', 'NULL', 'NaN', '-NaN', 'nan', '-nan', ''keep_default_na:bool型,决定是否⾃动转NaNname_columns = [' ','名字','类型', '城市', '地区', '地点', '评分', '评分⼈数', '价格']
tabledata = ad_excel('./hotel.xlsx', header=0, names=name_columns, sep=',')
tableline = tabledata[tabledata['类型'].isnull()]
print(tableline)5、只修改某⼀列的缺失值
fillna函数⽤于替换缺失值,常见参数如下:value参数决定要⽤什么值去填充缺失值
axis:确定填充维度,从⾏开始或是从列开始
limit:确定填充的个数,int型
通常limit参数配合axis可以⽤于替换数量⽅向的控制
我们这⾥根据需求,最简单的就是将需要修改的这⼀列取出来进⾏修改,之后对原数据进⾏列重新赋值即可name_columns = [' ','名字','类型', '城市', '地区', '地点', '评分', '评分⼈数', '价格']
tabledata = ad_excel('./hotel.xlsx', header=0, names=name_columns, sep=',')
tableline = tabledata['类型'].fillna(value='其他')
tabledata['类型'] = tableline
print(tabledata)6、修改某⼀列,⽤平均值代替缺失值
这个的思路和上⾯⼀个基本⼀致,区别在于我们需要线求出平均值。平均值的求解肯定不需要缺失值参与,于是我们先取出某⼀列不存在的缺失值的所有数据,再取出这⼀列数据,通过mean函数直接获取平均值。
同理的函数使⽤还有:mean()平均值
median()中位数
max()最⼤值
min()最⼩值
sum()求和
std()标准差
Series类型独有的⽅法:argmax()最⼤值的位置 argmin()最⼩值的位置name_columns = [' ','名字','类型', '城市', '地区', '地点', '评分', '评分⼈数', '价格']
tabledata = ad_excel('./hotel.xlsx', header=0, names=name_columns, sep=',')
tableline = tabledata[tabledata['评分'].isnull().values==False]
score_avg = tableline['评分'].mean()
tableline = tabledata['评分'].fillna(value=score_avg)
tabledata['评分'] = tableline
print(tabledata)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论