python – Pandas Dataframe对象在不同的??数据类型上输入fillna
发布时间:2020-12-20 11:27:54 所属栏目:Python 来源:网络整理
导读:我有一个Pandas Dataframe,不同的列有不同的dtypes.例如. df.dtypes返回以下内容. Date datetime64[ns]FundID int64FundName objectCumPos int64MTMPrice float64PricingMechanism object 各种奶酪列都缺少价值.使用NaN值对其执行组操作会导致问题.用.fillna
我有一个Pandas Dataframe,不同的列有不同的dtypes.例如. df.dtypes返回以下内容.
Date datetime64[ns] FundID int64 FundName object CumPos int64 MTMPrice float64 PricingMechanism object 各种奶酪列都缺少价值.使用NaN值对其执行组操作会导致问题.用.fillna()方法摆脱它们是显而易见的选择.问题是字符串的明显clouse是.fillna(“”),而.fillna(0)是整数和浮点数的正确选择.在DataFrame上使用任一方法都会引发异常.任何优雅的解决方案,除了单独做它们(有大约30列)?我有很多代码,具体取决于DataFrame,并且不希望重新键入列,因为它可能会破坏其他逻辑. df.FundID.fillna(0) df.FundName.fillna("") etc 解决方法
您可以遍历它们并使用if语句!
for col in df: #get dtype for column dt = df[col].dtype #check if it is a number if dt == int or dt == float: df[col].fillna(0) else: df[col].fillna("") 当您遍历pandas DataFrame时,您将获得每个列的名称,因此要访问这些列,请使用df [col].这样你就不需要手动完成了,脚本可以遍历每一列并检查它的dtype! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |