Python 向数据框中的新列添加值

Python 向数据框中的新列添加值,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我有一个大数据框(data_df),并创建了四个新列。假设原始列为“A”、“B”、“C”、“D”,四个新列为“E”、“F”、“G”、“H”。对于每一行(3000),我需要向新列添加值。在“E”中,它需要是A/A+B。对于“F”B/A+B。对于“G”C/C+D。对于“H”D/C+D。我需要为每一行运行此命令。这非常简单/直观。下面是对您的具体问题的回答 import pandas as pd ### Make up data for example A = [5, 8, 2, -1] B = [

我有一个大数据框(data_df),并创建了四个新列。假设原始列为“A”、“B”、“C”、“D”,四个新列为“E”、“F”、“G”、“H”。对于每一行(3000),我需要向新列添加值。在“E”中,它需要是A/A+B。对于“F”B/A+B。对于“G”C/C+D。对于“H”D/C+D。我需要为每一行运行此命令。

这非常简单/直观。下面是对您的具体问题的回答

import pandas as pd

### Make up data for example
A = [5, 8, 2, -1]
B = [1, 0, 1, 3]
df = pd.DataFrame(list(zip(A,B)), columns =['A', 'B'])
display(df)


这非常简单/直观。下面是对您的具体问题的回答

import pandas as pd

### Make up data for example
A = [5, 8, 2, -1]
B = [1, 0, 1, 3]
df = pd.DataFrame(list(zip(A,B)), columns =['A', 'B'])
display(df)


回答您的具体问题

import pandas
df = pandas.DataFrame({'A':[1,2], 'B':[3,4],'C':[5,6], 'D':[7,8]})


df['E'] = df.apply(lambda row: row.A/(row.A + row.B), axis=1)
df['F'] = df.apply(lambda row: row.B/(row.A + row.B), axis=1)
df['G'] = df.apply(lambda row: row.C/(row.C + row.D), axis=1)
df['H'] = df.apply(lambda row: row.D/(row.C + row.D), axis=1)
print(df)
输出

A  B  C  D         E         F         G         H
1  3  5  7  0.250000  0.750000  0.416667  0.583333
2  4  6  8  0.333333  0.666667  0.428571  0.571429

回答你的具体问题

import pandas
df = pandas.DataFrame({'A':[1,2], 'B':[3,4],'C':[5,6], 'D':[7,8]})


df['E'] = df.apply(lambda row: row.A/(row.A + row.B), axis=1)
df['F'] = df.apply(lambda row: row.B/(row.A + row.B), axis=1)
df['G'] = df.apply(lambda row: row.C/(row.C + row.D), axis=1)
df['H'] = df.apply(lambda row: row.D/(row.C + row.D), axis=1)
print(df)
输出

A  B  C  D         E         F         G         H
1  3  5  7  0.250000  0.750000  0.416667  0.583333
2  4  6  8  0.333333  0.666667  0.428571  0.571429