首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过从其他列中减去第一列来创建新的数据帧?

如何通过从其他列中减去第一列来创建新的数据帧?
EN

Stack Overflow用户
提问于 2020-05-23 08:49:40
回答 3查看 41关注 0票数 2
代码语言:javascript
运行
复制
import pandas as pd
df = {'a': [1,1,1], 'b': [3,3,3,], 'c': [5,5,5,], 'd': [7,7,7], 'e': [9,9,9]}
df1 = pd.DataFrame(df, columns = ['a', 'b', 'c', 'd', 'e'])
dg = {'b': [2,2,2], 'c': [4,4,4], 'd': [6,6,6], 'e': [8,8,8]}
df2 = pd.DataFrame(dg, columns = ['b', 'c', 'd', 'e'])
代码语言:javascript
运行
复制
df1
代码语言:javascript
运行
复制
    a   b   c   d   e
0   1   3   5   7   9
1   1   3   5   7   9
2   1   3   5   7   9

df1是我最初的数据格式。我希望通过从其他列中减除列a(取a列与所有其他列之间的差异)来创建另一个dataframe。

代码语言:javascript
运行
复制
df2
代码语言:javascript
运行
复制
    b   c   d   e
0   2   4   6   8
1   2   4   6   8
2   2   4   6   8

df2就是结果。

我很感谢你的帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-05-23 09:00:39

代码语言:javascript
运行
复制
df = df1.loc[:,'b':].apply(lambda x: x-df1['a'])
print(df)

指纹:

代码语言:javascript
运行
复制
   b  c  d  e
0  2  4  6  8
1  2  4  6  8
2  2  4  6  8
票数 1
EN

Stack Overflow用户

发布于 2020-05-23 11:11:40

代码语言:javascript
运行
复制
df1.iloc[:,1:].sub(df1.a,axis=0)

    b   c   d   e
0   2   4   6   8
1   2   4   6   8
2   2   4   6   8
票数 2
EN

Stack Overflow用户

发布于 2020-05-23 08:59:35

一种方法就是

代码语言:javascript
运行
复制
import pandas as pd

df = {'a': [1,1,1], 'b': [3,3,3,], 'c': [5,5,5,], 'd': [7,7,7], 'e': [9,9,9]}
df1 = pd.DataFrame(df, columns = ['a', 'b', 'c', 'd', 'e'])

df2 = pd.DataFrame()
for col in df1.columns[1:]:
    df2[col] = df1[col] - df1[df1.columns[0]]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61969568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档