使用';其中';用python
我试图更改那些数据类型为数值的列中的值。但是我的代码不起作用 数据帧名称:使用';其中';用python,python,pandas,numpy,dataframe,Python,Pandas,Numpy,Dataframe,我试图更改那些数据类型为数值的列中的值。但是我的代码不起作用 数据帧名称:mergedDF for c, dtype in zip(mergedDF.columns,mergedDF.dtypes): if dtype == np.int64: mergedDF[c].where(mergedDF[c]> 0,1) 它基本上没有改变什么。当我尝试分配变量名时,它将所有内容都更改为1 if dtype == np.int64: mergedDF[c] = m
mergedDF
for c, dtype in zip(mergedDF.columns,mergedDF.dtypes):
if dtype == np.int64:
mergedDF[c].where(mergedDF[c]> 0,1)
它基本上没有改变什么。当我尝试分配变量名时,它将所有内容都更改为1
if dtype == np.int64:
mergedDF[c] = mergedDF[c].where(mergedDF[c]> 0,1)
输入:
col1 col2 col3
1 2 0
4 0 1
2 2 0
预期产出:
col1 col2 col3
1 1 0
1 0 1
1 1 0
我的原始表中只有2个数据类型
case_history object # text column
cleaned_text object # text column
401k deduction int64 # 0-10
assistance manual int64 # 0-10
assistance quick int64 # 0-10
您可以执行
选择数据类型
+剪辑
然后更新
df.update(df.select_dtypes(include=np.number).clip(upper=1))
Out[118]:
col1 col2 col3
0 1 1 0
1 1 0 1
2 1 1 0
您能打印数据类型的内容吗?@Yuca原始数据集中只有两个数据类型。有关您最初努力的解决方案,请参阅以下内容: