data = [{'a':i,'b':2*i} for i in range(3)] ab=pd.Series(data) list=pd.DataFrame(ab,columns=['ab']) print(list)为啥这样写代码生成的有012的索引
时间: 2023-12-20 13:03:51 浏览: 55
这是因为在创建 `pd.Series` 对象时,如果传入的是一个字典类型的数据(如上述代码中的 `data`),则默认使用字典的键作为索引。因此,`ab` 对象的索引为 `0`、`1`、`2`。接着,将 `ab` 对象转换为 `pd.DataFrame` 对象时,由于未指定索引列的名称,因此使用默认的数字索引 `0`、`1`、`2`。所以最终生成的数据框的索引就是 `012`。如果想要指定索引列的名称,可以修改代码如下:
```python
data = [{'a':i,'b':2*i} for i in range(3)]
ab = pd.Series(data)
df = pd.DataFrame(ab, columns=['ab'])
df.index.name = 'index'
print(df)
```
这样就会生成一个名为 `index` 的索引列,其值为 `0`、`1`、`2`。
阅读全文