[英]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.