我需要根據不同列中的值是否包含某些字母和一些規則來填充列中的值。Python的數據框條件列人口
例如:
這是我的起始數據幀:
import pandas as pd
testdata1 = [('A', ['3c', '20b', '9']),
('B', ['Prod1', 'Prod2', 'Prod3']),
('C', ['', '', '']),
]
df = pd.DataFrame.from_items(testdata1)
df
這是我的目標數據幀:
targetdf = [('A', ['3c', '20b', '9']),
('B', ['Prod1', 'Prod2', 'Prod3']),
('C', ['15.00', '40.00', '9']),
]
df2 = pd.DataFrame.from_items(targetdf)
df2
在上述我的例子中,如果在列A的單元格中包含的 'C' ,列C中的相應單元格應包含列A中單元格的數字部分與5的乘積結果。如果列A中的單元格包含'b',則相應的單元格將在列C應包含列A中單元的數字部分乘以2的結果。如果列A中的單元不包含字母(即,它是一個數字),將該數字複製到列C中相應的單元格。
我認爲解決方案將涉及使用「contains」來搜索'c'或'b'。也許是一個If語句?我不確定。我當然需要幫助提取A列中單元格的數字部分,並在C列中填充正確的值。我對Python很新穎。
謝謝你的幫助。
謝謝。很棒。 – Jdoe