首页 > 解决方案 > 如何使算法对字符串变量进行自动转换?

问题描述

例如,我有一个像这样的名为 sozluk 的 df。我想将此字符串转换为数字。我写了一些代码,但我真的很困惑。

sozluk = {"column":["abc","abc","aas",
                "aas","adas"],
"degerler":["a","a","b","b","c"]}
sozluk = pd.DataFrame(data=sozluk)


#sozluk.column = [k if i=="abc" else 2 if i=="aas" else 0 for i in 
sozluk.column]
objects = 0
columnss=[]
vcounts=[]
for i,j in enumerate(sozluk.columns):
    if sozluk[j].dtype =="object":
         objects= objects+1
         columnss.append(j)
         vcounts.append(len(sozluk[j].value_counts()))

 for i,j in enumerate(columnss):
     for a in range(objects):
         for k,l in enumerate(range(vcounts[i])):
             for each in sozluk.columns:
                 print(each)
                 if sozluk.loc[i,j]==sozluk[j].value_counts().index[k]:
      sozluk[columnss] = []

标签: pythonpandasnumpy

解决方案


我会为此使用pd.Categorical函数

for col in sozluk:
    sozluk[col] = pd.Categorical(sozluk[col]).codes

推荐阅读