gpt4 book ai didi

python - 检查一个大文件 .csv 并替换,并将其分类在一列中

转载 作者:太空宇宙 更新时间:2023-11-03 19:56:53 25 4
gpt4 key购买 nike

我需要检查一个大文件 .csv 并替换,并将其分类在一列dataframe['value']中。

这是我的代码,但运行速度很慢:

def encoder():
classes={}
a=dataframe['value']
c=-1
for i in a:
if i not in classes:
print(i)
c=c+1
classes[i]=c
for i in range(len(a)):
print(i)
dataframe['value'][i]=classes[a[i]]

有更好的解决方案吗?

这是我的数据集的一部分:

subject_id  hadm_id seq_num icd9_code   icustay_id  value   valueuom
18557 183341 4 42731 228376.0 Tracheostomy 0
18557 178725 4 42731 228376.0 Tracheostomy 0
18557 173656 5 42731 228376.0 Tracheostomy 0
18557 138883 10 42731 228376.0 Tracheostomy 0
18557 183341 4 42731 228376.0 30 0
18557 178725 4 42731 228376.0 30 0
18557 173656 5 42731 228376.0 30 0
18557 138883 10 42731 228376.0 30 0
18557 183341 4 42731 228376.0 2 Person Assist 0
18557 178725 4 42731 228376.0 2 Person Assist 0
18557 173656 5 42731 228376.0 2 Person Assist 0
18557 138883 10 42731 228376.0 2 Person Assist 0
18557 183341 4 42731 228376.0 Calm 0
18557 178725 4 42731 228376.0 Calm 0
18557 173656 5 42731 228376.0 Calm 0
18557 138883 10 42731 228376.0 Calm 0
18557 183341 4 42731 228376.0 Present 0
18557 178725 4 42731 228376.0 Present 0
18557 173656 5 42731 228376.0 Present 0
18557 138883 10 42731 228376.0 Present 0

最佳答案

我根据您的代码做出的一些假设,如果我错了,请告诉我。

  1. 任务是对数据帧中value列的值进行编码。

  2. 我假设value列没有任何空值并且只有数字。

  3. 根据您的代码,我还假设您不允许使用 sklearn 等库或任何其他库来执行此操作。

在这些假设下,下面的代码可能会对您有所帮助。

x = sorted(dataframe["value"].unique())
y = list(range(0, len(x)))

encoded_dict = dict(zip(x, y))
dataframe["value"] = dataframe["value"].apply(lambda x: encoded_dict[x])

关于python - 检查一个大文件 .csv 并替换,并将其分类在一列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59490503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com