gpt4 book ai didi

python - Pandas dataframe - 如何分配索引?

转载 作者:太空宇宙 更新时间:2023-11-04 03:25:51 25 4
gpt4 key购买 nike

我的代码是

import numpy as np
import pandas as pd
ser_1 = pd.Series(np.random.randn(6))
ser_2 = pd.Series(np.random.randn(6))
ser_3 = pd.Series(np.random.randn(6))
df = pd.DataFrame(data= {'Col1': ser_1, 'Col2': ser_2, 'Col3':ser_3 } , )
df

它给了我一个由生成的 rand #s 组成的表:

    Col1    Col2    Col3
0 -0.594436 -0.014419 0.512523
1 0.208414 0.804857 0.261830
2 1.714547 -0.765586 -0.153386
3 -0.834847 -0.683258 -1.341085
4 2.726621 0.379711 -0.276410
5 0.151987 0.622103 0.966635

但是,我想为行添加标签而不是 0、1、...5,我试过了

df = pd.DataFrame(data= {'Col1': ser_1, 'Col2': ser_2, 'Col3':ser_3 } , index=['row0', 'row1', 'row2', 'row3', 'row4', 'row5', 'row6'] )

但正如预期的那样,它给了我 NaN

    Col1    Col2    Col3
row0 NaN NaN NaN
row1 NaN NaN NaN
row2 NaN NaN NaN
row3 NaN NaN NaN
row4 NaN NaN NaN
row5 NaN NaN NaN
row6 NaN NaN NaN

问题是如何才能不给出 NaN 而我仍然可以标记它们?

最佳答案

可以直接设置索引:

In [11]: df.index = ['row0', 'row1', 'row2', 'row3', 'row4', 'row5']

In [12]: df
Out[12]:
Col1 Col2 Col3
row0 -1.094278 -0.689078 -0.465548
row1 1.555546 -0.388261 1.211150
row2 -0.143557 1.769561 -0.679080
row3 -0.064910 1.959216 0.227133
row4 -0.383729 0.113739 -0.954082
row5 0.434357 -0.646387 0.883319

注意:您也可以使用 map (更简洁)来执行此操作:

df.index = df.index.map(lambda x: 'row%s' % x)

...虽然我应该说通常这不是您通常需要做的事情,但保留整数索引是一件好事TM

关于python - Pandas dataframe - 如何分配索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33048384/

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