这是我的数据样本
我编写了以下代码,它删除了所有分类列(例如MSZoning
)。但是,一些非类别列具有na
值。如何将它们从我的数据集中排除。
def main():
print('Starting program execution')
iowa_train_prices_file_path='C:\\...\\programs\\python\\kaggle_competition_iowa_house_prices_train.csv'
iowa_file_data = pd.read_csv(iowa_train_prices_file_path)
print('Read file')
model_random_forest = RandomForestRegressor(random_state=1)
features = ['MSSubClass','MSZoning',...]
y = iowa_file_data.SalePrice
# every colmn except SalePrice
X = iowa_file_data.drop('SalePrice', axis = 1)
#The object dtype indicates a column has text (hint that the column is categorical)
X_dropped = X.select_dtypes(exclude=['object'])
print("fitting model")
model_random_forest.fit(X_dropped, y)
print("MAE of dropped categorical approach");
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
main()
当我运行程序时,我得到错误valueerror:输入包含NaN、infinity或一个对dtype('float32')
来说太大的值,我认为这是由于na
值ID=8
造成的。
问题1-我如何完全删除这些行问题2-这些列的类型是什么,大部分是NO。但两者之间有短信吗?我想我将执行打印(“x types”,type(x.columns))
,但这并没有给出结果
若要移除NAN,可以用另一个值替换它们。使用零是常见的做法。
iowa_file_data = iowa_file_data.fillna(0)
如果仍要移除整个列,请使用
iowa_file_data = iowa_file_data.dropna(axis='columns')
如果要移除整行,请使用
iowa_file_data = iowa_file_data.dropna()
问题内容: 我必须清理具有重复行的表: 一个可能具有多个值: 我想对整个表执行一个查询,并删除和重复的所有行。在上面的示例中,删除后,我只想剩下1、2、4和5。 问题答案: ;WITH x AS ( SELECT id, gid, url, rn = ROW_NUMBER() OVER (PARTITION BY gid, url ORDER BY id) FROM dbo.table ) SEL
我正在考虑使用lambda和Pipeline。任何能给出提示的人都将不胜感激! 多谢!
对于每个组A、B、C、D,每次组合y、z出现在组末尾时,我都想删除b列中的值z。 如果我们有 a==“C”的情况,其中 b 值是 y,z,z,z,z,我想删除所有 z。但是,在 a==“D” 中,由于 x 是最后一个值,因此无需更改任何内容。 结果如下所示: 通过在< code>dplyr中进行分组,我可以确定每个值在A中最后出现的位置,因此< code>a=="A"中描述的基本情况不成问题。对于
我想删除a列和b列中的空值行。我已设法找到具有以下内容的行: 如何删除这些行?
我是相对较新的python,并试图获得列具有特定值的行。 下面是我的代码示例 然而,当我运行这个我得到一个错误TypeError: ufunc'bitwise_and'不支持的输入类型,和输入不能安全强制任何支持的类型根据铸造规则"安全" 有人知道我为什么会出现这个错误吗?我可以做些什么来返回特定的值?任何帮助都将不胜感激!
我有一个包含17列(A列到S列)的excel工作表。A列包含ID号,C列是日期列,F列包含时间格式的值(hh: mm)。对于同一个日期/天,一些ID号在F列中包含两个值-通常是一个高数字(多小时和分钟)和一个低数字(几分钟)。如果有这样的重复,我希望从工作表中删除包含F列中低值的整行。 我尝试了Excel的“板载”删除重复项功能,但没有成功。然后我遇到了这段VBA代码,它删除了包含最高值的整个重复