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'])
df1
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。
df2
b c d e
0 2 4 6 8
1 2 4 6 8
2 2 4 6 8
df2就是结果。
我很感谢你的帮助。
发布于 2020-05-23 09:00:39
df = df1.loc[:,'b':].apply(lambda x: x-df1['a'])
print(df)
指纹:
b c d e
0 2 4 6 8
1 2 4 6 8
2 2 4 6 8
发布于 2020-05-23 11:11:40
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
发布于 2020-05-23 08:59:35
一种方法就是
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]]
https://stackoverflow.com/questions/61969568
复制相似问题