我對python很陌生。我認為這很簡單,但我做不到。我要做的是從特定字串中洗掉一列的每個值的一些字串。
| 可用串列 |
|---|
| AE,SG,MO |
| 韓國、中國 |
| SG |
| 莫,我 |
all_list = 'AE,SG,MO,MY,KR,CN,US,HK,YS'
我想從 all_list 中洗掉 available_list 值。我嘗試的是以下代碼。
col1 = df['available_list']
all_ori = 'AE,SG,MO,MY,KR,CN,US,HK,YS'.split(',')
all_c = all_ori.copy()
result=[]
for i in col1:
for s in i:
all_c.remove(s)
result.append(all_c)
all_c = all_main.copy()
result_df = pd.DataFrame({'Non-Priviliges' : result})
但結果是,
|Non-Priviliges|
|[MY, KR, CN, US, HK, YS]|
|[SG, MO, US, HK, YS]|
|[AE, SG, KR, CN, US, HK, YS]|
問題是“[”,“]”。我如何洗掉它們?
在替換它們之后,我想將這個系列粘貼到現有的 excel 檔案中,在名為“Priviliges”的列旁邊。
你能給我一些建議嗎?謝謝!
uj5u.com熱心網友回復:
假設您的檔案名是“hello.xlsx”,以下是我的回答:
import pandas as pd
df = pd.read_excel('hello.xlsx')
all_list_str = 'AE,SG,MO,MY,KR,CN,US,HK,YS'
all_list = all_list_str.split(',')
def find_non_priv(row):
#convert row item string value to list
row_list = row.split(',')
return ','.join(list(set(all_list) - set(row_list)))
# pandas apply is used to call function to each row items.
df['Non-Priviliges'] = df['available_list'].apply(find_non_priv)
df.to_excel('output.xlsx')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/406845.html
標籤:
下一篇:如何洗掉早于本月的作業表
