在除一个Pandas数据框外的所有数据框上应用Map?

8i9zcol2  于 2022-12-16  发布在  其他
关注(0)|答案(1)|浏览(141)

我有一个DataFrame df,如下所示:

0       1   2   3   4   5
0   first   M   A   F   I   L
1   second  M   A   F   I   L
2   third   M   S   F   I   I
3   fourth  M   S   F   I   L
4   fifth   M   L   F   F   I

我想将每个列 * 的每个元素(除了第一个 *)更改为其对应的整数ASCII代码(即“M”Map到整数77,“A”Map到65,等等)。
我可以通过以下方式实现此结果:

new_df = df.loc[:, 1:].applymap(ord)
new_df.insert(0, 0, df[0])

有没有更好的方法来完成这个任务?一定有比创建一个新的DataFrame更好的方法来完成这个任务。也许有一种方法可以在列的子集上就地执行applymap

5f0d552i

5f0d552i1#

可以为选定列分配:

df.iloc[:, 1:] = df.iloc[:, 1:].applymap(ord)

或者:

df.loc[:, 1:] = df.loc[:, 1:].applymap(ord)

相关问题