嘿,我有一個 DataFrame,其中列的值Values是串列,其中每個串列包含一個具有 3 個字符的字串。對于valuesfromvalues_list我想用“I”替換Values列中每個串列中的最后一個字符。那是我當前的代碼:
for i in range(len(data["Values"])):
for k in range(len(data.iloc[i]["Values"])):
if data.iloc[i]["Values"][k] in values_list:
data.iloc[i]["Values"][k] = data.iloc[i]["Values"][k][:2] "I"
我怎樣才能以更合適的方式重寫它?
uj5u.com熱心網友回復:
不太清楚您要做什么,但我認為這就是您的意思。
您可以定義該函式,然后.map()在該列上使用:
import pandas as pd
data = pd.DataFrame({'Values':[['aaa','bbb','ccc'],
['ddd','eee','fff']]})
print(data)
values_list = ['aaa', 'ccc', 'eee']
def subI(value_list):
value_list = [x[:-1] 'I' if x in values_list else x for x in value_list]
return value_list
data['Values'] = data['Values'].map(subI)
print(data)
輸出:
print(data)
Values
0 [aaa, bbb, ccc]
1 [ddd, eee, fff]
Values
0 [aaI, bbb, ccI]
1 [ddd, eeI, fff]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/372454.html
下一篇:找到串列中平方的數字的總和
