如果它與我在 Python 中創建的串列中的某個值匹配,我想在 B 列中插入一個整數值。
例如,data.xlsx 將包含以下內容:
A欄:今天,明天
B列:現在是空的
C列:abc,def
我的條件將類似于如果 A 列的值為 Today,然后在 B 列中插入 123,如果 Tomorrow,則插入 456,依此類推。注意 C 列與這個問題無關,但我仍然需要保留這些并將它們輸出到 Excel 中。
我如何才能在 Python 代碼中實作這一點?
會是這樣嗎?
將熊貓匯入為 pd Df=pd.read_excel('data.xlsx') ??? Df.to_excel('data_final.xlsx') - 確保所有列 A、B、C 仍然完整,并在列 B 中填充新值。
謝謝你。
uj5u.com熱心網友回復:
df.loc[] 可能是最簡單的解決方案:
import pandas as pd
df = pd.read_excel('data.xlsx')
df.loc[df['A'] == 'Today', 'B'] = 123
df.loc[df['A'] == 'Tomorrow', 'B'] = 456
df.to_excel('data_final.xlsx')
但是,np.select()也可能對此有用:
import pandas as pd
import numpy as np
df = pd.read_excel('data.xlsx')
conditions = [(df['A'] == 'Today'), (df['A'] == 'Tomorrow'), (df['C'] == True)]
choices = [123, 456, 789]
df['B'] = np.select(conditions, choices, default=np.nan)
df.to_excel('data_final.xlsx')
或者,您可以使用 lambda 運算式完成任務:
import pandas as pd
df = pd.read_excel('data.xlsx')
df['B'] = df['A'].apply(lambda x: 123 if x == 'Today' else (456 if x == 'Tomorrow' else 789))
df.to_excel('data_final.xlsx')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/349793.html
