簡體   English   中英

向數據框中的新列添加值

[英]Adding values to new columns in data frame

我有一個大數據框 (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。 我需要為每一行運行這個。

它非常簡單/直觀。 一個類似的問題是here ,下面是您的具體問題的答案。

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)

在此處輸入圖像描述

### Calculate Column E
df['E'] = df['A'] / (df['A'] + df['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)

output

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM