【发布时间】:2016-10-15 07:46:12
【问题描述】:
我有以下问题:我的 Python 数据框中有两列。第一个包含名称(字符串),第二个是整数,用于编码名称。该代码消除了拼写变体。问题是,并非所有名称都被编码。我想制作第三列,其中有明确的名称,当第二行是 NaN 时,当有代码时,代码(作为字符串)。
以下是 DataFrame 的示例:
import pandas as pd
df = pd.DataFrame([['Meyer', 2], ['Mueller', 4], ['Radisch', math.nan], ['Meyer', 2],['Pavlenko', math.nan]])
这里有一个,我想要它:
df = pd.DataFrame([['Meyer', 2, '2'], ['Mueller', 4, '4'], ['Radisch',math.nan ,'Radisch'], ['Meyer', 2, '2'],['Pavlenko',math.nan ,'Pavlenko']])
有什么建议吗?我尝试了一个 for 循环,但它不起作用:
for d in range(0, len(df)):
if not (math.isnan(df['ref'][d])):
df.ix[d]['name2'] = df.ix[d]['ref']
【问题讨论】:
标签: python-3.x pandas dataframe