Skip to main content
 首页 » 编程设计

python之当值的长度与索引的长度不匹配时,用 Nan 填充

2025年05月04日17wayfarer

我想要一个看起来像这样的数据框。

 a         b 
cars      New 
bikes     nan 
trains    nan 

假设以下...

list(oldDF["Transportation"].unique())=["cars", "bikes", "trains"] 
list(oldDF["Condition"].unique())=["New"] 

我的代码目前看起来像这样:

newList=["Transportation", "Condition"] 
newDF=pf.DataFrame(columns=newList) 
 
for i in newList: 
    newDF[i]= list(oldDF[i].unique()) 

我希望能够打印上面的数据框并用 nan 填充缺失值,而不是得到值错误。

请您参考如下方法:

from_dict 和 orient='index'

pd.DataFrame.from_dict({n: c.unique() for n, c in oldDF.iteritems()}, orient='index').T 
 
  Transportation Condition 
0           cars       New 
1          bikes      None 
2         trains      None 

zip_longest

from itertools import zip_longest 
 
pd.DataFrame([*zip_longest(*map(pd.unique, map(oldDF.get, oldDF)))], columns=[*oldDF]) 
 
  Transportation Condition 
0           cars       New 
1          bikes      None 
2         trains      None