我有一个新创建的Pandas数据框,由于某种原因,我无法从中删除列。
RangeIndex:2617个条目,0到2616 列:111个条目,可访问分区 dtypes:object(111) 内存使用量:2.2+ MB 没有
print list(df)
['access','age','attic','basement_type','bathrooms','bedrooms_total','buyer','buyer_city','buyer_country','buyer_postal_code','colisting_agent_id','construction ”,“ csa_number”,“ date_expired_hidden”,“ date_listed”,“ date_sold”,“ date_unconditional”,“ distance_to_schools”,“ distance_to_transportation”,“ district”,“ ensuites”,“ exterior_features”,“ exterior_finish”,“ fireplace_type” “壁炉”,“地板”,“燃料”,“加热”,“ id”,“ interior_features”,“ internet_remarks”]
df = df.drop(['buyer', 'buyer_city', 'buyer_country', 'colisting_agent_id'], axis=1, inplace=True)
print list(df)```
TypeErrorTraceback (most recent call last)
<ipython-input-63-1db0e7488634> in <module>()
6
7
----> 8 print list(df)
TypeError: 'NoneType' object is not iterable
答案 0 :(得分:1)
您应该这样做:
df = df.drop(['buyer', 'buyer_city', 'buyer_country'], axis=1)
或者:
df.drop(['buyer', 'buyer_city', 'buyer_country'], axis=1, inplace=True)
答案 1 :(得分:1)
inplace=True
参数将放在源(即数据帧本身)处,并返回None
。
因此,当您使用inplace=True
时,请勿将其分配回df
这里的错误是因为df变量已分配给None
,并且在list
上调用None
构造函数会引发错误。
>>> df.drop(list_of_cols_to_drop, axis=1, inplace=True)