【发布时间】:2014-11-28 17:02:04
【问题描述】:
我正在使用 DataFrame 构造函数创建一个 pandas DataFrame 对象。我的数据是列表和分类数据系列对象的字典。当我将索引传递给构造函数时,我的分类数据系列将被重置为 NaN 值。这里发生了什么?提前致谢!
例子:
import pandas as pd
import numpy as np
a = pd.Series(['a','b','c'],dtype="category")
b = pd.Series(['a','b','c'],dtype="object")
c = pd.Series(['a','b','cc'],dtype="object")
A = pd.DataFrame({'A':a,'B':[1,2,3]},index=["0","1","2"])
AA = pd.DataFrame({'A':a,'B':[1,2,3]})
B = pd.DataFrame({'A':b,'C':[4,5,6]})
print("DF A:")
print(A)
print("\nDF A, without specifying an index in the constructor:")
print(AA)
print("\nDF B:")
print(B)
【问题讨论】:
-
对于阅读此内容的其他人,文档对此问题很明确:“...因此,Series 的字典加上特定索引将丢弃所有与传递的索引不匹配的数据。... " 来自:pandas.pydata.org/pandas-docs/stable/dsintro.html#dataframe