Python中,pythondef定义函数数的参数的值怎么确定?比如所示代码中,df的值为多少?

数据分析工具pandas中DataFrame和Series作为主要的.
本文主要是介绍如何对DataFrame数据进行操作并结合一个实例操作函数。
1)查看DataFrame数据及属性
df_obj = DataFrame() #创建DataFrame对象
df_obj.dtypes #查看各行的数据格式
df_obj['列名'].astype(int)#转换某列的数据类型
df_obj.head() #查看前几行的数据,默认前5行
df_obj.tail() #查看后几行的数据,默认后5行
df_obj.index #查看索引
df_obj.columns #查看列名
df_obj.values #查看数据值
df_obj.describe() #描述性统计
df_obj.T #转置
df_obj.sort_values(by=['',''])#同上123456789101112345678910112)使用DataFrame选择数据:
df_obj.ix[1:3] #获取1-3行的数据,该操作叫切片操作,获取行数据
df_obj.ix[columns_index] #获取列的数据
df_obj.ix[1:3,[1,3]]#获取1列3列的1~3行数据
df_obj[columns].drop_duplicates() #剔除重复行数据123412343)使用DataFrame重置数据:
df_obj.ix[1:3,[1,3]]=1#所选位置数据替换为1114)使用DataFrame筛选数据(类似SQL中的WHERE):
alist = ['023-']
df_obj['用户号码'].isin(alist)
df_obj[df_obj['用户号码'].isin(alist)] 1231235)使用DataFrame模糊筛选数据(类似SQL中的LIKE):
df_obj[df_obj['套餐'].str.contains(r'.*?语音CDMA.*')] 116)使用DataFrame进行数据转换(后期补充说明)
df_obj['支局_维护线'] = df_obj['支局_维护线'].str.replace('巫溪分公司(.{2,})支局','\\1')11可以设置take_last=ture 保留最后一个,或保留开始一个.补充说明:注意take_last=ture已过时,请使用keep=’last’ 7)使用pandas中读取数据:
read_csv('D:\LQJ.csv',sep=';',nrows=2)
df.to_excel('foo.xlsx',sheet_name='Sheet1');pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])
df.to_hdf('foo.h5','df');pd.read_hdf('foo.h5','df')1231238)使用pandas聚合数据(类似SQL中的GROUP BY 或HAVING):
data_obj['用户标识'].groupby(data_obj['支局_维护线'])
data_obj.groupby('支局_维护线')['用户标识']
adsl_obj.groupby('支局_维护线')['用户标识'].agg([('ADSL','count')])1231239)使用pandas合并数据集(类似SQL中的JOIN):
merge(mxj_obj2, mxj_obj1 ,on='用户标识',how='inner')# mxj_obj1和mxj_obj2将用户标识当成重叠列的键合并两个数据集,inner表示取两个数据集的交集.1110)清理数据
df[df.isnull()]
df[df.notnull()]
df.dropna()#将所有含有nan项的row删除
df.dropna(axis=1,thresh=3) #将在列的方向上三个为NaN的项删除
df.dropna(how='ALL')#将全部项都是nan的row删除填充值
df.fillna(0)
df.fillna() #对第一列nan值赋0,第二列赋值0.5
df.fillna(method='ffill') #在列方向上以前一个值作为值赋给NaN1234567812345678实例
1. 读取excel数据
import pandas as pd# 读取高炉数据,注意文件名不能为中文
data=pd.read_excel('gaolushuju_201501-03.xlsx', '201501', index_col=None, na_values=['NA'])
print data123123测试结果如下
1691234567891011121234567891011122. 切片处理,选取行或列,修改数据
代码如下:
data_1row=data.ix[1]
data_5row_2col=data.ix[0:5,[u'燃料比',u'顶温西南']
print data_1row,data_5row_2col
data_5row_2col.ix[0:1,0:2]=312341234测试结果如下:
Name: 1, dtype: float64
17412345678910111213141516171819201234567891011121314151617181920格式说明,data_5row_2col.ix[0:1,0:2],data_5row_2col.ix[0:1,[0,2]],选取部分行和列需加”[]” 3. 排序
代码如下:
print data_1row.sort_values()
print data_5row_2col.sort_values(by=u'燃料比')1212测试结果如下:
Name: 1, dtype: float64
18012345678910111213123456789101112134. 删除重复的行
代码如下:
print data_5row_2col[u'顶温西南'].drop_duplicates()11测试结果如下:
Name: 顶温西南, dtype: int64123456123456说明:从测试结果3中可以看出顶温西南index=2的数据与index=4的数据重复,测试结果4显示将index=4的顶温西南数据删除
5. 参考文献
[pandas] 数据类型学习笔记
熟悉了NumPy之后,接下来就是要学习pandas了。pandas建立在NumPy之上,十分强大,好用。学习的资料就是看pandas官网的文档了。本文就是记录自己的学习笔记。...
Python之DataFrame常用方法小结
对http://www.cnblogs.com/sirkevin/category/861333.html中的利用Python进行数据分析进行了整理,原文有更详细的代码示例。...
python dataframe astype 字段类型转换
使用astype实现dataframe字段类型转换# -*- coding: UTF-8 -*-
import pandas as pd
df = pd.DataFrame([{'col1':'a',...
Python_pandas 两种主要的数据类型(Series、DataFrame)
用Python做数据分析(一)数据类型
.reindex()方法可以用来改变或者重排Series和DataFrame的索引(一起改变的还有其内容的排列顺序)
其主要参数有:
index,columns:新的行列自定义索引
fill_valu...
python数据分析工具pandas中DataFrame和Series作为主要的数据结构. 本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数。 1)查看DataFrame数...
python、datetime,datetime.timedelta
pandas的dataframe数据类型转换
在使用pandas库进行数据分析时,有时候会需要将object类型转换成数值类型(float,int),那么如何做呢?
主要有以下三种方法:创建...
摘要: pandas 提供了一组标准的时间序列处理工具和数据算法
数据类型及操作
Python 标准库的 datetimedatetime 模块中的 datetime、 time、 calenda...
没有更多推荐了,您还未登录,请登录后再进行相关操作!pandas.DataFrame.dropna — pandas 0.23.4 documentation
pandas.DataFrame.dropna
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
Remove missing values.
for more on which values are
considered missing, and how to work with missing data.
Parameters:axis : {0 or ‘index’, 1 or ‘columns’}, default 0
Determine if rows or columns which contain missing values are
0, or ‘index’ : Drop rows which contain missing values.
1, or ‘columns’ : Drop columns which contain missing value.
Deprecated since version 0.23.0:: Pass tuple or list to drop on multiple
how : {‘any’, ‘all’}, default ‘any’
Determine if row or column is removed from DataFrame, when we have
at least one NA or all NA.
‘any’ : If any NA values are present, drop that row or column.
‘all’ : If all values are NA, drop that row or column.
thresh : int, optional
Require that many non-NA values.
subset : array-like, optional
Labels along other axis to consider, e.g. if you are dropping rows
these would be a list of columns to include.
inplace : bool, default False
If True, do operation inplace and return None.
Returns:DataFrame
DataFrame with NA entries dropped from it.
Indicate missing values.
Indicate existing (non-missing) values.
Replace missing values.
Drop missing values.
Drop missing indices.
&&& df = pd.DataFrame({&name&: ['Alfred', 'Batman', 'Catwoman'],
&toy&: [np.nan, 'Batmobile', 'Bullwhip'],
&born&: [pd.NaT, pd.Timestamp(&&),
Drop the rows where at least one element is missing.
&&& df.dropna()
Drop the columns where at least one element is missing.
&&& df.dropna(axis='columns')
Drop the rows where all elements are missing.
&&& df.dropna(how='all')
Keep only the rows with at least 2 non-NA values.
&&& df.dropna(thresh=2)
Define in which columns to look for missing values.
&&& df.dropna(subset=['name', 'born'])
Keep the DataFrame with valid entries in the same variable.
&&& df.dropna(inplace=True)为了账号安全,请及时绑定邮箱和手机
点击这里,将文章分享到自己的动态
Python数据分析及可视化-小测验
本文中测验需要的文件夹下载链接:
密码: rmbt下载压缩包后解压如下图所示:image.png首先将5题的文件复制形成副本,如下图所示:image.png在资源管理器的路径中输入cmd,如下图所示:image.png在上图中输入后,按Enter键运行进入cmd窗口。在cmd窗口中输入并运行命令:jupyter notebook,如下图所示:image.png在上图中输入后,按Enter键运行自动打开浏览器并且进入jupyter notebook编程界面。在jupyter notebook中,点击第一题,ipynb和第一题-副本.ipynb。浏览器会新建两个标签页,如下图所示:image.png在两个标签页中,读者可以对照题目要求完成做题。下面是5道题目作者的答案和解析。1.第一大题1.1 第一步:导入相应的模块最后2行代码可以使作图时不出现编码错误,分别用来正常显示中文标签和正常显示负号。import&pandas&as&pdfrom&pandas&import&Series,DataFrameimport&matplotlib.pyplot&as&plt
plt.rcParams['font.sans-serif']&=&['SimHei']&#用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False&#用来正常显示负号1.2 第二步:利用pandas读取datasets目录下chipo.csv并显示前十行数据(赋值给变量chipo)csv文件默认的分隔符是逗号,pd.read_csv方法中sep关键字参数的默认值也为逗号,所以可以不写sep关键字。显示前十行数据用chipo.head(10)即可。chipo&=&pd.read_csv('datasets/chipo.csv')
chipo.head(10)1.3 第三步:根据列名为item_name中每种商品出现的频率,绘制出柱状图给出的答案示例是购买次数排名第2-6名的商品的作图结果。chipo.item_name.value_counts()是对商品购买次数进行统计,返回的结果降序排列,数据类型为Series。plt.xticks()方法中可以填入1个参数或者多个参数,下面代码中采用的是填入3个参数。x_list是x轴标记点,数据类型为列表;xticks_list是x轴标记点显示值,数据类型为列表;rotation设置为90,是x轴标记点显示值以右边为轴逆时针旋转90度。plt.bar方法中指定每根柱子的颜色,这样才可以画出示例答案的效果。mostOrder_list&=&chipo.item_name.value_counts().iloc[5:0:-1]
xticks_list&=&mostOrder_list.index
x_list&=&range(len(xticks_list))
y_list&=&mostOrder_list.values
plt.bar(x_list,&y_list,&width=0.5,&color=['b',&'orange',&'g',&'r',&'purple'])
plt.xticks(x_list,&xticks_list,&rotation=90)
plt.title('购买次数最多的商品排名')
plt.xlabel('商品名称')
plt.ylabel('出现的订单次数')
plt.show()上面这段代码的运行结果如:柱形图.png1.4 第四步:根据订单编号(order_id)进行分组,求出每个订单花费的总金额,例如订单编号为1的总金额为11.56美元。然后根据每笔订单的总金额和每笔订单购买商品的总数量画出散点图(总金额为x轴,商品总数为y轴)。先将chipo这个变量深度拷贝给c变量,这样可以避免影响原数据,使代码每次都能成功运行。item_price这个单词是一个条目的价格,不是单个商品的单价。我们平时超市购物的单子的最后price那一列也是算的这一个条目的价格,比如2个相同的商品算1个条目。c&=&chipo.copy()
c.quantity&=&c.quantity.astype('int')
c.item_price&=&c.item_price.str.strip('$').astype('float')
order_group&=&c.groupby('order_id')
x_list&=&order_group.item_price.sum()
y_list&=&order_group.quantity.sum()
plt.scatter(x_list,&y_list,&color='g')
plt.xlabel('订单总价')
plt.ylabel('商品总数')
plt.title('每笔订单总金融和购买商品数量关系')
plt.show()上面这段代码的运行结果如下:散点图.png2.第二大题2.1 第一步:导入相应的模块最后2行代码可以使作图时不出现编码错误,分别用来正常显示中文标签和正常显示负号。import&pandas&as&pdfrom&pandas&import&Series,DataFrameimport&matplotlib.pyplot&as&plt
plt.rcParams['font.sans-serif']&=&['SimHei']&#用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False&#用来正常显示负号2.2 第二步:利用pandas读取datasets目录下special_top250.csv并显示前五行数据(赋值给变量top250)csv文件默认的分隔符是逗号,pd.read_csv方法中sep关键字参数的默认值也为逗号,所以可以不写sep关键字。显示前五行数据用chipo.head()即可。top250&=&pd.read_csv('datasets/special_top250.csv')
top250.head()2.3 第三步:在同一个图中绘制出电影时长和电影排名的散点图关系及电影时长的频率分布直方图,分50组,如下图所示:x_series&=&top250.movie_duration
y_series&=&top250.num
plt.figure(figsize=(14,6))
plt.subplot(121)
plt.scatter(x_series,&y_series)
plt.xlabel('电影时长')
plt.ylabel('电影排名')
plt.gca().invert_yaxis()
plt.subplot(122)
plt.hist(x_series,bins=50)
plt.show()上面一段代码的运行结果如下:image.png2.4 第四步:由上图中电影时长的频率分布直方图,并不能比较准确的反映出每个分组下电影的数量,请根据以下提示,绘制如下图所示根据电影时长分组的柱状图bins&=&[0,80,120,140,180,1000]
tags&=&['偏短','标准','正常','偏长','超长']2.5 第五步:具体显示每个分组下的电影数量在pandas官网中查询pandas.cut函数中的参数,其中参数bins是数据区间分割值,参数labels是数据按照区间分类后的标签,如下图所示。如果参数bins和labels都是可迭代对象,则bins比labels长度大1。pandas.cut用法官方文档.png将电影时长分类后赋值给duration_labeled_series变量,数据类型为Series。查看其中的值,如下图所示:image.png对duration_labeled_series变量统计每个分类出现的次数,使用value_counts方法。duration_series&=&top250.movie_duration
duration_labeled_series&=&pd.cut(duration_series,&bins=bins,&labels=tags)
duration_labeled_series.value_counts()2.6 第六步:绘制出结果图duration_stat_series&=&duration_labeled_series.value_counts(sort=False)
duration_stat_series.plot(kind='bar')
plt.show()上面一段代码的运行结果如下:image.png3.第三大题3.1 第一步:导入相关模块最后2行代码可以使作图时不出现编码错误,分别用来正常显示中文标签和正常显示负号。import&pandas&as&pdfrom&pandas&import&Series,DataFrameimport&matplotlib.pyplot&as&plt
plt.rcParams['font.sans-serif']&=&['SimHei']&#用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False&#用来正常显示负号3.2 第二步:加载datasets下的tips.csv文件数据,并显示前五行记录csv文件默认的分隔符是逗号,pd.read_csv方法中sep关键字参数的默认值也为逗号,所以可以不写sep关键字。显示前五行数据用chipo.head()即可。tip_df&=&pd.read_csv('datasets/tips.csv')
tip_df.head()3.3 第三步:绘制消费金额频率分布直方图plt.hist方法中参数bins用来指定出现多少根柱子,参数width用来指定每根柱子的宽度。plt.hist(tip_df.total_bill,&bins=10,&width=4)
plt.xlabel('消费总金额')
plt.ylabel('频率')
plt.show()上面一段代码的运行结果如下图所示:直方图.png3.4 第四步:绘制总消费金额与小费金额的散点图关系利用plt.scatter方法画出散点图plt.scatter(tip_df.total_bill,&tip_df.tip)
plt.xlabel('总消费金额')
plt.ylabel('小费金额')
plt.show()上面一段代码的运行结果如下:散点图.png3.5 第五步:在同一图中绘制出吸烟顾客与不吸烟顾客的消费金额与小费之间的散点图关系观察示例答案中左右两幅图,不同的地方有:处于画板的位置、标题、散点颜色。定义函数drawScatter用于绘制散点图,传入4个参数:数据group、处于画板的位置subplot、标题title、散点颜色。def&drawScatter(group,&subplot,&title,&color):
&&&&plt.subplot(subplot)
&&&&plt.xlabel('消费总金额')
&&&&plt.ylabel('小费金额')
&&&&plt.title(title)
&&&&plt.scatter(group.total_bill,&group.tip,&color=color)
plt.figure(figsize=(12,6))for&name,group&in&tip_df.groupby('smoker'):&&&&if&name&==&'Yes':
&&&&&&&&drawScatter(group,&121,&'吸烟顾客',&'green')&&&&else:
&&&&&&&&drawScatter(group,&122,&'不吸烟顾客',&'blue')
plt.show()上面一段代码的运行结果如下:组合散点图.png3.6 第六步:在同一图中绘制出女性与男性中吸烟与不吸烟顾客的消费金额与小费之间的散点图关系在有2组散点的散点图当中,第1组散点默认为橘黄色,第2组散点默认为天蓝色。def&drawScatter2(df,&subplot,&title,&sex):
&&&&plt.subplot(subplot)
&&&&plt.title(title)&&&&for&name,&group&in&df.groupby('smoker'):&&&&&&&&if&name&==&'Yes':
&&&&&&&&&&&&plt.scatter(group.total_bill,&group.tip,&
&&&&&&&&&&&&&&&&&&&&&&&&label=sex+'吸烟顾客')&&&&&&&&else:
&&&&&&&&&&&&&plt.scatter(group.total_bill,&group.tip,&
&&&&&&&&&&&&&&&&&&&&&&&&label=sex+'不吸烟顾客')
&&&&plt.legend()
plt.figure(figsize=(12,6))for&name,group&in&tip_df.groupby('sex'):&&&&if&name&==&'Male':
&&&&&&&&drawScatter2(group,&121,&'sex=Male',&'男性')&&&&else:
&&&&&&&&drawScatter2(group,&122,&'sex=Female',&'女性')
plt.show()上面一段代码的运行结果如下图所示:组合散点图.png4.第四大题4.1 第一步:导入相应的模块import&osimport&reimport&numpy&as&npimport&pandas&as&pdfrom&bs4&import&BeautifulSoup4.2 第二步:读取nlp文件夹下的labeledTraniData.tsv文件df&=&pd.read_csv(&nlp/labeledTrainData.tsv&,&sep='\t',&escapechar='\\')
print('记录数:&{}'.format(len(df)))
df.head()4.3 第三步:请按如下步骤,对影评数据做预处理,大概有以下环节:去掉html标签移除标点切分成单词列表去掉停用词重组为新的句子def&display(text,&title):
&&&&print(title)
&&&&print(&\n----------我是分割线-------------\n&)
&&&&print(text)4.4 第四步:提取出原始数据中的第一行review列中的文本数据,并用display函数进行输出显示text1&=&df.iloc[1]['review']
display(text1,&'原始数据')4.5 第五步:用BeautifulSoup将第四步中获取到的数据中的html标签去除text2&=&BeautifulSoup(text1,&'lxml').text
display(text2,&'去掉HTML标签的数据')4.6 第六步:将第五步数据中的标点符号去掉(用正则)text3&=&re.sub('[^\w\s]',&'',text2)
display(text3,&'去掉标点的数据')4.7 第七步:将第六步的数据全部转换成小写并转换成列表text4&=&text3.lower()
word_list&=&text4.split('&')
display(word_list,&'纯词列表数据')4.8 第八步:去掉第七步数据中的英文停用词4.8.1 加载英文停用词with&open('nlp/stopwords.txt')&as&file:
&&&&stopword_list&=&[k.strip()&for&k&in&file.readlines()]4.8.2 利用加载的英文停用词,去除第七部数据中的英文停用词new_word_list&=&[k&for&k&in&word_list&if&k&not&in&stopword_list]
display(new_word_list,&'去掉停用词数据')4.8.3 为确保所加载的英文停用词没有重复数据,请对8-1中加载的英文停用词去重stopword_list&=&list(set(stopword_list))4.9 第九步:将第五步到第八步的过程总结归纳为一个函数,名为clean_text,参数为text即输入到函数中的文本这个函数就是对前面零散步骤的总结,所以前面的大部分代码可以直接复制过来。with&open('nlp/stopwords.txt')&as&file:
&&&&stopword_list&=&[k.strip()&for&k&in&file.readlines()]
stopword_list&=&list(set(stopword_list))def&clean_text(text1):
&&&&text2&=&BeautifulSoup(text1,&'lxml').text
&&&&text3&=&re.sub('[^\w\s]',&'',text2)
&&&&text4&=&text3.lower()
&&&&word_list&=&text4.split('&')
&&&&new_word_list&=&[k&for&k&in&word_list&if&k&not&in&stopword_list]&&&&return&'&'.join(new_word_list)4.10 第十步:用apply方法,将第九步中定义的函数应用到第二步加载的df中,并生成一列清洗之后的数据列,名为clean_reviewdf['clean_review']&=&df.review.apply(clean_text)
df.head()上面一段代码的运行结果如下图所示:第4题最终结果.png5.第五大题5.1 第一步:导入相关模块最后2行代码可以使作图时不出现编码错误,分别用来正常显示中文标签和正常显示负号。import&pandas&as&pdfrom&pandas&import&Series,DataFrameimport&matplotlib.pyplot&as&plt
plt.rcParams['font.sans-serif']&=&['SimHei']&#用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False&#用来正常显示负号5.2 第二步:加载datasets目录下US_Baby_names_right.csv文件数据并查看数据的基本信息baby_df&=&pd.read_csv('datasets/US_Baby_names_right.csv')
baby_df.info()5.3 第三步:写出删除 Unname:0和Id列数据的两种方法,第二种注释即可new_df&=&baby_df.drop(['Unnamed:&0',&'Id'],&axis=1)#&del&baby_df['Unnamed:&0']#&del&baby_df['Id']new_df.head()5.4 第四步:写出能够判断出数据集中男孩多还是女孩多的代码并给出结论baby_df.Gender.value_counts()5.5 第五步:按照Name字段将数据集进行分组并求和赋值给变量names,最后输出前五行names&=&new_df.groupby('Name').sum()
names.head()5.6 第六步:按照每个名字被使用的次数(Count)对第五步中结果进行降序排序,得出最受欢迎的的五个名字sorted_names&=&names.sort_values(by='Count',&ascending=False)
sorted_names.head()5.7 第七步:在数据集中,共出现了多少个名字?(不包含重复项,至少使用两种方法)第1种方法:len(baby_df.Name.unique())第2种方法:len(names)第3种方法:baby_df.Name.value_counts().count()5.8 第八步:出现次数最少的名字共有几个?min_count&=&sorted_names.iloc[-1]['Count']
len(names[names.Count&==&min_count])5.9 第九步:根据names变量中的数据,删除掉Year列数据后,得出如下所示的基本统计参数names.drop('Year',&axis=1).describe()作者:潇洒坤链接:https://www.jianshu.com/p/ea6a37a40195
若觉得本文不错,就分享一下吧!
评论加载中...
相关文章推荐
正在加载中
作者相关文章将dataframe中的NaN替换成希望的值
import pandas as pd
df1 = pd.DataFrame([{'col1':'a', 'col2':1}, {'col1':'b', 'col2':2}])
df2 = pd.DataFrame([{'col1':'a', 'col3':11}, {'col1':'c', 'col3':33}])
data = pd.merge(left=df1, right=df2, how='left', left_on='col1', right_on='col1')
print data
print data.where(data.notnull(), None)
python pandas消除空值和空格以及 Nan数据替换
在人工采集数据时,经常有可能把空值和空格混在一起,一般也注意不到在本来为空的单元格里加入了空格。这就给做数据处理的人带来了麻烦,因为空值和空格都是代表的无数据,而pandas中Series的方法...
数据清洗--DataFrame中的空值处理
数据清洗是一项复杂且繁琐的工作,同时也是整个数据分析过程中最为重要的环节。首先,构造一个包含NaN的DataFrame对象。&&& import numpy as np
&&& import pand...
Python快速转换numpy数组中Nan和Inf的方法
在使用numpy数组的过程中时常会出现nan或者inf的元素,可能会造成数值计算时的一些错误。这里提供一个numpy库函数的用法,使nan和inf能够最简单地转换成相应的数值。
numpy.nan_t...
python pandas 如何找到NaN、缺失值或者某些元素的索引名称以及位置,np.where的使用
我们在处理数据的时候,经常需要检查数据的质量,也需要知道出问题的数据在哪个位置。我找了很久,也尝试了很多办法,都没能找到一种非常直接的函数,本文所要介绍的是一种我认为比较方便的方法:np.where(...
pandas 转换成行列表进行读取与Nan处理
pandas中有时需要按行依次对.csv文件读取内容,那么如何进行呢?
我们来完整操作一遍,假设我们已经有了一个.csv文件。
# 1.导入包
import pandas as pd
# 2读入数据
Python如何优雅地处理NaN
很多数据不可避免的会遗失掉,或者采集的时候采集对象不愿意透露,这就造成了很多NaN(Not a Number)的出现。这些NaN会造成大部分模型运行出错,所以对NaN的处理很有必要。
删除DataFrame中值全为NaN或者包含有NaN的列或行?
如果存在以下DataFrame
pandas对列数据进行处理,将Nan变为0,将str变为0
test.csv文件内容:
import pandas as pd
import numpy as np
判断nan的方法
python在数据预处理的时候,经常遇到需要对空值进行处理的地方。
空值在python中的表现一般为:
前3个很容易判断,直接=就可以了...
Python Pandas找到缺失值的位置
问题描述:
python pandas判断缺失值一般采用 isnull(),然而生成的却是所有数据的true/false矩阵,对于庞大的数据dataframe,很难一眼看出来哪个数据缺...
没有更多推荐了,

我要回帖

更多关于 pythondef定义函数 的文章

 

随机推荐