我有以下資訊。
假設我有以下串列。
my_list = [2,3,4,5]
我的資料框如下:
df
Col1 Value
[1,3,6] Hot
[7] Mild
[10,11,2] Cool
[5,9] Cool
[2,5,6] Mild
我想檢查列中是否my_list存在串列中的值之一Col1。如果存在,將Value列Hot中的值更改為相應行中的值。
我想看到類似下面的內容。
Col1 Value
[1,3,6] Hot
[7] Mild
[10,11,2] Cool
[5,9] Hot
[2,5,6] Hot
我只是在尋找一個簡單的腳本,它可以迭代和檢查每一行并更改相應行另一列中的值。
任何人都可以對此提供幫助嗎?
uj5u.com熱心網友回復:
您可以使用的組合explode,isin,agg和.loc:
df.loc[df['Col1'].explode().isin(my_list).groupby(level=0).any(), 'Value'] = 'Hot'
輸出:
>>> df
Col1 Value
0 [1, 3, 6] Hot
1 [7] Mild
2 [10, 11, 2] Hot
3 [5, 9] Hot
4 [2, 5, 6] Hot
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/390603.html
