[英]Pandas - adding new string column results in NaN
我在 Pandas 数据框中分配新列时遇到了一些麻烦 - 我已经让它工作了,但想了解它为什么会发生;
当我第一次尝试将 ID 分配给一个字符串时,结果是 NaN..
df = pandas.json_normalize(data)
all_per = pandas.DataFrame()
for person in peopleList:
all_per['id'] = person
all_per['name'] = df['results.(id:'+person+').localizedFirstName'] + ' ' + \
df['results.(id:'+person+').localizedLastName']
结果:
id name
0 NaN Adam Smith
但是,如果我将 ID 分配向下移动一点,它会起作用..
df = pandas.json_normalize(data)
all_per = pandas.DataFrame()
for person in peopleList:
all_per['name'] = df['results.(id:'+person+').localizedFirstName'] + ' ' + \
df['results.(id:'+person+').localizedLastName']
all_per['id'] = person
结果:
name id
0 Adam Smith FQR4bL_80K
这占用了我很多时间,我不知道为什么会这样? 有任何想法吗?
您不能添加标量值。 您必须将person
放入列表中:
df = pandas.json_normalize(data)
all_per = pandas.DataFrame()
for person in peopleList:
all_per['id'] = [person] # <- HERE
all_per['name'] = df['results.(id:'+person+').localizedFirstName'] + ' ' + \
df['results.(id:'+person+').localizedLastName']
输出:
>>> all_per
id name
0 FQR4bL_80K Adam Smith
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.