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

 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_dictorient='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

关于python - 当值的长度与索引的长度不匹配时,用Nan填充,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57383961/

10-12 22:15