[英]Applying a function to dataframe with index and columns names as arguments
考慮一個空的 dataframe (df),其中包含國家作為索引和列狀態。
df = pd.DataFrame({'Country': ['Albania', 'France', 'Mexico', 'Russia'],
'On': [0, 0, 0, 0],
'Off': [0, 0, 0, 0]}).set_index('Country')
如何將 function 應用於 dataframe 中的每個單元格,索引名稱和列名稱為 arguments 到 ZCA394125268E16? 我想用可以使它工作的語法替換 row(x) 和 column(x) 。
df = df.apply(lambda x : function(row(x), column(x)))
謝謝
你可以做這樣的事情
def fct(row):
# You can get index with row.name
print(row.name)
# You can set separately row["On"] and row["Off"]
print(row["On"])
print(row["Off"])
row["On"] = row["On"] + 1
row["Off"] = row["Off"] + 2
return row
dff = df.apply(fct, axis=1)
編輯:如果您確實需要使用依賴於行和列的 function,那么這個解決方案對您有用嗎?
def f2(row, col):
# ...
def fct(row):
# You can get index with row.name
row_name = row.name
for column_name in row.index.values:
row[v] = f2(row_name, column_name)
return row
dff = df.apply(fct, axis=1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.