[英]Python: Create empty pandas dataframe and add elements to its columns dynamically
[英]Dynamically create columns in a dataframe
我有一個如下數據框:
a b a1 b1
0 1 6 10 20
1 2 7 11 21
2 3 8 12 22
3 4 9 13 23
4 5 2 14 24
其中a1
和b1
由a
和b
動態創建。 我們也可以動態創建百分比列嗎? 不變的一件事是創建的列將在名稱后添加1
預期輸出:
a b a1 b1 a% b%
0 0 6 10 20 0 30
1 2 7 11 21 29 33
2 3 8 12 22 38 36
3 4 9 13 23 44 39
4 5 2 14 24 250 8
通過將兩列分開並通過 DataFrame.add_suffix 重命名列來創建新的DataFrame.add_suffix
,最后由DataFrame.join
附加到原始數據:
cols = ['a','b']
new = [f'{x}1' for x in cols]
df = df.join(df[cols].div(df[new].to_numpy()).mul(100).add_suffix('%'))
print (df)
a b a1 b1 a% b%
0 1 6 10 20 10.000000 30.000000
1 2 7 11 21 18.181818 33.333333
2 3 8 12 22 25.000000 36.363636
3 4 9 13 23 30.769231 39.130435
4 5 2 14 24 35.714286 8.333333
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.