gpt4 book ai didi

python - 恢复 pandas 和 numpy 中丢失的行和列名称

转载 作者:行者123 更新时间:2023-12-01 06:55:18 24 4
gpt4 key购买 nike

我正在使用 pandas 来操作我的文件(其中每一行都有一个名称,因为行名称不是单独的列,并且列也有名称)并执行下游分析。在此过程中,我必须使用 numpy 将值转换为日志值,然后再次将 numpy 数组转换为 pandas dataframe 。但在此过程中,我将丢失列名和行名。这是我所做的:

df = pd.read_table(infile, index_col=0)
df2 = np.log2(np.array(df))
df3 = pd.DataFrame(df2)

将列名称添加到 pandas dataframe 我使用了以下代码:

colname = list(df.columns)
df3.columns = colname

但我没有设法将行名称添加到新的数据帧中。你知道怎么做吗?

这是输入数据(df):

    ABC20190124 ABC20190156
CCNO 61.300048 1.865438
MYC 7949.585246 2229.654372
CD79A 0.954767 1223.411451

这是我得到的输出(df3):

    0   1
0 5.9378 0.8995
1 12.9566 11.1226
2 -0.0667 10.2566

这是预期的输出:

    ABC20190124 ABC20190156
CCNO5.9378 0.8995
MYC 12.9566 11.1226
CD79A -0.0667 10.2566

最佳答案

我认为这里转换为numpy数组是没有必要的,仅适用于df:

df = pd.read_table(infile, index_col=0)
df3 = np.log2(df)

您的解决方案应使用 DataFrame 构造函数中的 indexcolumns 参数进行更改:

df = pd.read_table(infile, index_col=0)
df2 = np.log2(np.array(df))
df3 = pd.DataFrame(df2, index=df.index, columns=df.columns)

示例:

df = pd.DataFrame({'A':[4,5,4], 'B':[7,8,9]})
df3 = np.log2(df)
print (df3)
A B
0 2.000000 2.807355
1 2.321928 3.000000
2 2.000000 3.169925

关于python - 恢复 pandas 和 numpy 中丢失的行和列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58837880/

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