Skip to main content
 首页 » 编程设计

python之使用来自两个系列的给定索引构建 Pandas 数据框

2025年05月04日25虾米哥

假设我有两个系列:

foo = pd.Series([1,2,3]) 
bar = pd.Series([7,6,5]) 

我想从中构建一个数据框:

tmp = pd.DataFrame() 
tmp['foo'] = foo 
tmp['bar'] = bar 

接下来,我设置新数据框的索引:

tmp.index=range(1,4) 

最终,这样的tmp是:

    foo bar 
1   1   7 
2   2   6 
3   3   5 

但是,下面的快捷方式:

pd.DataFrame( 
    { 
        "foo": foo, 
        "bar": bar 
    }, 
    index=range(1,4) 
) 

产生以下内容:

    bar     foo 
1   6.0000  2.0000 
2   5.0000  3.0000 
3   nan     nan 

索引正确但值不正确。为什么不一样呢?如果我在创建系列时设置 foo 和 bar 的索引,则第二种方法有效。

请您参考如下方法:

你可以选择:

pd.DataFrame( 
    { 
        "foo": foo.values, 
        "bar": bar.values 
    }, 
    index=range(1,4) 
)