gpt4 book ai didi

python - 将数据帧转换为系列会创建 NA

转载 作者:行者123 更新时间:2023-11-30 22:39:20 24 4
gpt4 key购买 nike

我已经下载了数据帧并尝试从此数据帧创建 pd.Series

data = pd.read_csv(filepath_or_buffer = "train.csv", index_col = 0)
data.columns

Index([u'qid1',u'qid2',u'question1',u'question2'], dtype = 'object')

这是 DataFrame 中的列,qid1question1 的 ID,qid2question2 的 ID另外,我的 DataFrame 中没有 Nan:

data.question1.isnull().sum()
0

我想从第一个问题创建 pandas.Series() 并使用 qid1 作为索引:

question1 = pd.Series(data.question1, index = data.qid1)
question1.isnull.sum()
68416

现在,我的系列中有 68416 个空值。我的错误在哪里?

最佳答案

传递匿名值,以便 Series 构造函数不会尝试对齐:

question1 = pd.Series(data.question1.values, index = data.qid1)

这里的问题是 question1 列有它自己的索引,因此它将在构造过程中尝试使用它

示例:

In [12]:
df = pd.DataFrame({'a':np.arange(5), 'b':list('abcde')})
df

Out[12]:
a b
0 0 a
1 1 b
2 2 c
3 3 d
4 4 e

In [13]:
s = pd.Series(df['a'], index = df['b'])
s

Out[13]:
b
a NaN
b NaN
c NaN
d NaN
e NaN
Name: a, dtype: float64

In [14]:
s = pd.Series(df['a'].values, index = df['b'])
s

Out[14]:
b
a 0
b 1
c 2
d 3
e 4
dtype: int32

实际上,这里发生的情况是,您正在使用传入的新索引重新索引现有列,因为没有与您得到的 NaN 匹配的索引值

关于python - 将数据帧转换为系列会创建 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43186996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com