我最近問了這個問題:在 for 回圈中向資料幀添加新列但要求錯誤的東西。
我能夠撰寫一個 for 回圈,每次向資料幀添加一行,如下例所示:
from random import randint
import numpy as np
dataframe = []
for i in range(2):
value = randint(0,10)
for j in range(2):
mean = np.mean(value)
dataframe.append(mean)
cols=['mean']
result=pd.DataFrame(dataframe, columns = cols)
result
這將輸出一個如下所示的資料幀:
mean
8
8
9
9
我實際上希望從 j 回圈為每個 i 創建的所有值都位于一列中。例如,如果當 i 為 0 時,j 回圈輸出的兩個值是 2 和 5,如果 i 時,j 回圈輸出的兩個值是 4 和 7,那么我的資料幀將是:
mean_1 mean_2
2 4
5 7
uj5u.com熱心網友回復:
您可以在列名中使用字串格式嗎?正如您知道 i 的不同值的數量(在本例中為 2),您可以預定義一個資料框并隨時替換值。就像是:
from random import randint
import numpy as np
nrows = 2
df = pd.DataFrame(index=range(nrows))
for i in range(2):
df['mean_%i'%i] = 0
value = randint(0,10)
for j in range(2):
mean = np.mean(value)
df['mean_%i'%i].iloc[j] = mean
或者類似的東西。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/348104.html
上一篇:如何將子目錄中特定型別檔案的所有路徑放入windowscmd中的文本檔案中?
下一篇:在for回圈中向資料框添加新列
