【发布时间】:2019-05-21 18:08:13
【问题描述】:
对于 ProductName 的值为 Salad 的行,我想用单词“valid”填充“SaleTypeName”列的 NaN 单元格值。
到目前为止,我已经走到了这一步: sales['SaleTypeName'].fillna("Valid", inplace=True) 但是我在这里缺少一个条件方面,因此当出现 NaN 时不会填充整个列
我有以下数据:
import pandas as pd
df = pd.DataFrame ({'Flight Day': ['2018-10-01', '2018-10-01','2018-10-01', '2018-10-01', '2018-10-02','2018-10-02', '2018-10-02', '2018-10-02', '2018-10-03','2018-10-03’, '2018-10-03','2018-10-03’],'Flight Number': [LX1336, LX1337, LX1472, LX1473, LX1336, LX1337, LX1472, LX1473, LX1336, LX1337, LX1472, LX1473],'STD Departure': [10, 15, 8, 11,10, 15, 8, 14,10, 15, 8, 11], ‘Quantity': [2, NaN, 8, 4,3, 2, 3, 1,NaN, 5, 2, 1],’ProductName': [Bircher, Salad, Carac, Salad, Bircher, Carac, Carac, Salad,Bircher, Carac, Carac, Salad], 'SaleTypeName': [NaN, NaN, NaN, NaN ,NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN]})
【问题讨论】:
-
请正确粘贴您的代码。您提供的代码有很多错误。我无法初始化 df。
-
试试
df.loc[df['A'] == 'foo']['SaleTypeName'].fillna("Valid", inplace=True) -
很高兴您提供了创建 df 的代码,但它引用了许多代码中不存在的名称。为了让我们甚至创建 df,我们必须先将所有内容都转换为字符串,然后才能尝试解决问题
标签: python python-3.x dataframe conditional