我想指出熊猫DataFrame中两栏的区别
假设我有两个列,我将其与“点”更改进行比较。然后我在输出row 89-‘WR’->M 0089-‘Wx’中找到这样的一行。这意味着行值从第一个修改为第二个。如何记录更改的输出并将其记录在另一列中?我希望“x”存储在另一列中,因为它是导致更改的原因。
Final_df["Unique"] = Final_df['New_Branching Logic'][~Final_df['New_Branching Logic'].isin(Final_df['Branching Logic)'])].drop_duplicates()
Final_df我尝试过这段代码,但它没有捕获导致更改的真正值。我想要创建一个列,它的值导致了更改,就像在本例中它的x是导致更改的原因一样。下面是指向TESTDATA示例TESTData.csv的链接
发布于 2019-07-16 14:58:40
此函数返回第二个字符串( 'New_Branching逻辑‘列)中不同的所有字符:
def string_comparison(row):
return [row['New_Branching Logic'][i]
for i in range(len(row['Branching Logic']))
if row['Branching Logic'][i] != row['New_Branching Logic'][i]]然后,您可以将其应用于DataFrame的每一行。
Final_df["Unique"] = Final_df.apply(string_comparison, axis=1)在以下DataFrame上测试时:
Final_df = pd.DataFrame([["M0089-'WR'","M0089-'Wx'"]],
columns=['Branching Logic', 'New_Branching Logic'])我得到了这个结果:
Branching Logic New_Branching Logic Unique
0 M0089-'WR' M0089-'Wx' [x]在“唯一”列中是所有不同字符的列表。
https://stackoverflow.com/questions/57059498
复制相似问题