如何为分类数据获取行索引的数据帧

2024-09-21 01:13:11 发布

您现在位置:Python中文网/ 问答频道 /正文

具有与此数据帧相同的数据帧:

import pandas as pd
mydf = pd.DataFrame(data = {'a': [6,5], 'b': [4, 3], 'c': [5, 3]} )
mydf.index = [1,2]
mydf    

    a   b   c
1   6   4   5
2   5   3   3

如何定位每个数据点的行,以获得如下数据帧:

values = mydf.to_numpy().flatten().tolist()
values = list(dict.fromkeys(values))
values.sort()

[3,4,5,6]

resultdf = pd.DataFrame(data = {'a': [None,None,2,1], 'b': [2, 1,None,None], 'c': [2,None,1,None]} )
resultdf.index= values
resultdf = resultdf.astype('Int64')
resultdf

    a       b       c
3   <NA>    2       2
4   <NA>    1    <NA>
5   2    <NA>       1
6   1    <NA>    <NA>

Tags: to数据定位importnonedataframepandasdata
1条回答
网友
1楼 · 发布于 2024-09-21 01:13:11

尝试^{}+^{}然后^{}清除轴名称:

new_df = (
    mydf.stack()
        .reset_index()
        .pivot_table(index=0, columns='level_1', values='level_0')
        .rename_axis(index=None, columns=None)
)

new_df

     a    b    c
3  NaN  2.0  2.0
4  NaN  1.0  NaN
5  2.0  NaN  1.0
6  1.0  NaN  NaN

相关问题 更多 >

    热门问题