从 Series 字典创建 DataFrame 会导致索引丢失和 NaN

问题描述 投票:0回答:1
dict_with_series = {'Even':pd.Series([2,4,6,8,10]),'Odd':pd.Series([1,3,5,7,9])}  

Data_frame_using_dic_Series = pd.DataFrame(dict_with_series)

# Data_frame_using_dic_Series = pd.DataFrame(dict_with_series,index=\[1,2,3,4,5\]), gives a NaN value I dont know why

display(Data_frame_using_dic_Series)

我尝试标记索引,但当我这样做时,它消除了第一列和第一行,而是在底部打印额外的列和行,并带有 NaN 值。谁能解释一下为什么会这样,我做错了什么吗 如果我不使用索引标签参数,它就可以正常工作

python pandas dataframe series
1个回答
0
投票

跑步时:

Data_frame_using_dic_Series = pd.DataFrame(dict_with_series,index=[1,2,3,4,5])

您请求仅使用提供的Series中的索引1-5,但Series的原始索引是从0开始,从而导致重新索引。

如果您想更改索引,请稍后进行:

Data_frame_using_dic_Series = (pd.DataFrame(dict_with_series)
                                 .set_axis([1, 2, 3, 4, 5])
                               )

输出:

   Even  Odd
1     2    1
2     4    3
3     6    5
4     8    7
5    10    9
© www.soinside.com 2019 - 2024. All rights reserved.