首页 > 解决方案 > Pandas 转换为大写会产生额外的一行

问题描述

我有一个熊猫数据框:df:

id   name
1    abc

我愿意:

df['name'] = df['name'].str.upper()

我得到一个重复的行:

id    name
1     ABC
nan    ABC

到底是怎么回事?

标签: pythonpandas

解决方案


问题是观察到的问题在孤立的代码示例中是不可重现的。问题中显示的内容表明程序代码是正确的。因此,未描绘的输入数据存在问题。

下面这个 MCVE(How to make good reproducible pandas examples)表明没有问题:

import pandas as pd

df = pd.DataFrame({'id':[1], 'name': ['abc']})
print df
df['name'] = df['name'].str.upper()
print df


python mcve.py
   id name
0   1  abc
   id name
0   1  ABC

上面的示例显示了一个输入 DataFrame

id   name
1    abc

哪个可能不是 DataFrame?


推荐阅读