Pandas 当元素为特定值时,删除CSV中的列
我正在分析大量数据,因此需要删除CSV中的一列。如果列包含0和32800,我想删除该列 也没有标题Pandas 当元素为特定值时,删除CSV中的列,pandas,dataframe,Pandas,Dataframe,我正在分析大量数据,因此需要删除CSV中的一列。如果列包含0和32800,我想删除该列 也没有标题 要删除具有特定值的列,可以尝试执行以下操作: data.loc[:, ~(data == 0).any()] 还是这个 data.drop(columns=data.columns[(data == 0).any()]) (数据==0)单独为您提供一个带有布尔值的数据帧(无论0是否出现在df中) (数据==0)。any()告诉您df列中是否有任何0 因此,当您执行此操作时,data.colu
要删除具有特定值的列,可以尝试执行以下操作:
data.loc[:, ~(data == 0).any()]
还是这个
data.drop(columns=data.columns[(data == 0).any()])
单独为您提供一个带有布尔值的数据帧(无论0是否出现在df中)(数据==0)
告诉您df列中是否有任何0(数据==0)。any()
- 因此,当您执行此操作时,
会告诉您,在数据中,一列或某些列中有0个值data.columns[(data==0).any()]
data.loc[:, ~(data == 0).any()]
还是这个
data.drop(columns=data.columns[(data == 0).any()])
单独为您提供一个带有布尔值的数据帧(无论0是否出现在df中)(数据==0)
告诉您df列中是否有任何0(数据==0)。any()
- 因此,当您执行此操作时,
会告诉您,在数据中,一列或某些列中有0个值data.columns[(data==0).any()]
'0'
替换0
。刚才我用'0'替换了0,布尔值是正确的。但是仍然没有删除行circe\u parsed\u df.drop(columns=circe\u parsed\u df.columns[(circe\u parsed\u df='0')。any())
你能帮我解释一下吗[(df==0)。any()]?我想我知道这个问题,数据帧类型是字符串。因此不会删除任何内容。您是指列中的值吗?如果涉及到这一点,您可以通过执行data['column'].astype(float)将类型从strings更改为integer或float。否则,您可以用'0'
替换0
。刚才我用'0'替换了0,布尔值是正确的。但是仍然没有删除行circe\u parsed\u df.drop(columns=circe\u parsed\u df.columns[(circe\u parsed\u df='0')。any())