Recode/concatenate 多个值 python
Recode/concatenate multiple values python
我有一个 df,我希望对其进行一些重新编码,但我不确定什么是最好的方法。
对于从 1
到 9
的值,我需要将 5900
添加到数字中(因此对于 1
,它将是 59001
) .
对于从 10
到 99
的值,我需要将 590
添加到数字中
对于从 100
到 175
的值,我需要将 59
添加到数字
有没有办法自动执行此过程,而不是手动重新编码?
我有以下内容,但是 returns 一个错误
def recode(df):
for n, i in enumerate(list(df)):
for num in range(0,10):
if i == num: df[n] = int(str(5900) + str(i))
for num in range(10,100):
if i == num: df[n] = int(str(590) + str(i))
for num in range(100,200):
if i == num: df[n] = int(str(59) + str(i))
return(list)
df['col'] = df['col'].apply(recode_fips_ohio)
Returns 错误:TypeError: 'int' object is not iterable
你只需要一行代码:
df += 59000
我有一个 df,我希望对其进行一些重新编码,但我不确定什么是最好的方法。
对于从 1
到 9
的值,我需要将 5900
添加到数字中(因此对于 1
,它将是 59001
) .
对于从 10
到 99
的值,我需要将 590
添加到数字中
对于从 100
到 175
的值,我需要将 59
添加到数字
有没有办法自动执行此过程,而不是手动重新编码?
我有以下内容,但是 returns 一个错误
def recode(df):
for n, i in enumerate(list(df)):
for num in range(0,10):
if i == num: df[n] = int(str(5900) + str(i))
for num in range(10,100):
if i == num: df[n] = int(str(590) + str(i))
for num in range(100,200):
if i == num: df[n] = int(str(59) + str(i))
return(list)
df['col'] = df['col'].apply(recode_fips_ohio)
Returns 错误:TypeError: 'int' object is not iterable
你只需要一行代码:
df += 59000