gpt4 book ai didi

python - 用同一索引处的行中的字符串替换列表/数据框特定行中索引处的字符串

转载 作者:太空宇宙 更新时间:2023-11-04 05:00:03 25 4
gpt4 key购买 nike

我有一个像这样的二维数组:

list_of_data = 
[['Joe', 4, 'MSP', 4, 5, 'cabbage', None],
['Joe', 43, '2TM', 41, 53, 'cabbage', None],
['Joe', 24, 'MSP', 44, 55, 'cabbage', None],
['Joe', 54, 'MIA', 42, 85, 'cabbage', None],

['Tom', 7, '2TM', 4, 52, 'cabbage', None],
['Tom', 4, 'LAX', 43, 52, 'cabbage', None],
['Tom', 4, 'MCO', 4, 5, 'cabbage', None],

['Fred', 4, '2TM', 4, 5, 6, 'cabbage'],
['Fred', 4, 'LAG', 4, 5, 6, 'cabbage'],
['Fred', 4, 'ITH', 4, 5, 6, 'cabbage']]

这个问题是关于在其第二个索引处包含值“2TM”的行/索引。例如:

Joe 在其数据的第二次出现中的索引 2 处的值为“2TM”。Tom 在他的数据第一次出现时在索引 2 处具有值“2TM”。Fred 在他的数据第一次出现时在索引 2 处的值为“2TM”。

每当值“2TM”出现在数据中时,我想用接下来两行中同一索引处的值替换“2TM”,用连字符分隔。上面的示例将变为以下内容:

list_of_data = 
[['Joe', 4, 'MSP', 4, 5, 'cabbage', None],
['Joe', 43, 'MSP-MIA', 41, 53, 'cabbage', None],
['Joe', 24, 'MSP', 44, 55, 'cabbage', None],
['Joe', 54, 'MIA', 42, 85, 'cabbage', None],

['Tom', 7, 'LAX-MCO', 4, 52, 'cabbage', None],
['Tom', 4, 'LAX', 43, 52, 'cabbage', None],
['Tom', 4, 'MCO', 4, 5, 'cabbage', None],

['Fred', 4, 'LAG-ITH', 4, 5, 6, 'cabbage'],
['Fred', 4, 'LAG', 4, 5, 6, 'cabbage'],
['Fred', 4, 'ITH', 4, 5, 6, 'cabbage']]

我试过使用替换。获取可能接近正确代码的方法:

x=0
for row in list_of_data:
if '2TM' in row:
list_of_data.replace(list_of_data[2], list_of_data[x+1 + x+2])
x+=1

这会产生错误信息:

AttributeError: 'list' object has no attribute 'replace'

最佳答案

我认为这样做可以:

list_of_data = [['Joe', 4, 'MSP', 4, 5, 'cabbage', None],
['Joe', 43, '2TM', 41, 53, 'cabbage', None],
['Joe', 24, 'MSP', 44, 55, 'cabbage', None],
['Joe', 54, 'MIA', 42, 85, 'cabbage', None],

['Tom', 7, '2TM', 4, 52, 'cabbage', None],
['Tom', 4, 'LAX', 43, 52, 'cabbage', None],
['Tom', 4, 'MCO', 4, 5, 'cabbage', None],

['Fred', 4, '2TM', 4, 5, 6, 'cabbage'],
['Fred', 4, 'LAG', 4, 5, 6, 'cabbage'],
['Fred', 4, 'ITH', 4, 5, 6, 'cabbage']]

for i in range(len(list_of_data)):
if list_of_data[i][2] == '2TM':
list_of_data[i][2] = list_of_data[i+1][2] + '-' + list_of_data[i+2][2]

print(list_of_data)

输出:

[['Joe', 4, 'MSP', 4, 5, 'cabbage', None], ['Joe', 43, 'MSP-MIA', 41, 53, 'cabbage', None], ['Joe', 24, 'MSP', 44, 55, 'cabbage', None], ['Joe', 54, 'MIA', 42, 85, 'cabbage', None], ['Tom', 7, 'LAX-MCO', 4, 52, 'cabbage', None], ['Tom', 4, 'LAX', 43, 52, 'cabbage', None], ['Tom', 4, 'MCO', 4, 5, 'cabbage', None], ['Fred', 4, 'LAG-ITH', 4, 5, 6, 'cabbage'], ['Fred', 4, 'LAG', 4, 5, 6, 'cabbage'], ['Fred', 4, 'ITH', 4, 5, 6, 'cabbage']]

关于python - 用同一索引处的行中的字符串替换列表/数据框特定行中索引处的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45965231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com