Pandas用lis替换列值

2024-10-03 21:36:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧df,其中一些列是字符串,一些是数字。我正试着把它们全部转换成数字。所以我想这样做:

col = df.ix[:,i]
le = preprocessing.LabelEncoder()
le.fit(col)
newCol = le.transform(col)
df.ix[:,i] = newCol

但这不管用。基本上,我的问题是如何从数据框中删除一列,然后创建一个与我删除的列同名的新列(当我不知道列名时,只知道列索引)?


Tags: 数据字符串ledftransform数字colfit
2条回答
newcol = [..,..,.....]

df['colname'] = newcol

这将保持colname的完整性,同时将其内容替换为newcol。

这应该对你有用:

# Find the name of the column by index
n = df.columns[1]

# Drop that column
df.drop(n, axis = 1, inplace = True)

# Put whatever series you want in its place
df[n] = newCol

…其中[1]可以是任何索引,axis = 1不应更改。

这从字面上回答了你的问题,你要求删除一个列,然后再添加一个。但实际情况是,只要用newCol替换列,就不需要删除它。

相关问题 更多 >