簡體   English   中英

在 PANDAS 中添加具有變量名的列

[英]Add column with variable name in PANDAS

假設我在熊貓中有一個數據框,例如

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

我想根據當前迭代動態添加名稱的新列。 我試過了

for k in range(2):
   column_name = 'new_column_' + str(k)
   df = df.assign(column_name=[0,0,0])

作為輸出,我期望

   A  B  C  new_column_0  new_column_1
0  1  4  7             0             0
1  2  5  8             0             0
2  3  6  9             0             0

不幸的是,只創建了一個名為“column_name”的列。

如何動態添加名稱由變量確定的列?

您可以使用pandas.assign如下所示。

df = df.assign(**{f'new_column_{k}' : [0,0,0] for k in range(2)})
# Or dynamically base length of dataframe
df = df.assign(**{f'new_column_{k}' : [0]*len(df) for k in range(2)})
print(df)

   A  B  C  new_column_0  new_column_1
0  1  4  7             0             0
1  2  5  8             0             0
2  3  6  9             0             0

暫無
暫無

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

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