![](/img/trans.png)
[英]How can I restructure a dataframe to create new column labels based on Column[se] values and then populate those new columns with Column[value] Values
[英]How do i create a function that scans multiple dataframe columns for a value. if any of those values are found the new column returns a given figure
我正在嘗試構建一個工作表,其中我有一個新列('column x')。
該列將通過掃描三個已經存在的列(a、b、c)來填充。
如果在索引圖的任何這些列中找到給定值,則新列將顯示為“失敗”,否則它將顯示為“通過”。
當我嘗試掃描單列時,我的代碼有效
例子:
df["Column x"] = df["Column a"].apply(lambda val: "Fail" if val == 'T' else "Pass")
當我嘗試不止一個時,無論我如何調整它都會失敗。
df['Column x'] = df['Column a'].any(lambda val: 'Fail' if val == 0 else 'Pass') or df['Column b'].apply(lambda val: 'Fail' if val == 'False' else 'Pass')
任何建議都非常有幫助
這是一個全 pandas 代碼:
import pandas as pd
df = pd.DataFrame({
'col1':['A','B','C'],
'col2':['E','F','G'],
'col3':['H','I','J']}
)
df["C"] = pd.Series(
df['col1'].apply(lambda a: 0 if a == 'C' else 1) &
df['col2'].apply(lambda a: 0 if a == 'C' else 1) &
df['col3'].apply(lambda a: 0 if a == 'C' else 1)
).apply(lambda x: "Pass" if x else 'Fail')
print(df)
output
col1 col2 col3 C
0 A E H Pass
1 B F I Pass
2 C G J Fail
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.