将列表中的某些值与列中的值匹配
Matching some values from a list with values from a column
我有以下问题:
我要专栏:
我必须为第一列中的每个元素创建一个列表。准确地说,我必须创建以下列表:
元素 1 的第一个列表应包含 [a, g]
对于元素 2:[r, t],等等
我尝试了一些东西,但我一定不对
我用来找出第一列中哪些元素重复的代码的第一部分
values = []
for i in range(2, ws11.max_row+1):
if ws11.cell(row=i, column=1).value in values:
pass
else:
values.append(ws11.cell(row=i, column=1).value)
print(values)
对于第二部分,我编写了以下代码:
listanew = []
for i in range(1, len(values)+1):
for j in range(2, ws11.max_row+1):
if ws11.cell(row=j, column=1).column == values[i-1]:
listanew.append(ws11.cell(row=j, column=2).value)
print(listanew)
当我尝试打印我的新列表时,我得到了一个空列表。
你能给我一个解决方案吗?
我冒昧地给两列命名了; “A”和“B”。以下是按“A”列对数据进行分组并获取“B”中所有元素的列表的方法:
df = pd.DataFrame({'A': [1,2,3,4,2,3,4,1],
'B': ['a', 'r', 'fg', 'h', 't', 'd', 'd', 'g']})
df = df.groupby('A')['B'].apply(list).reset_index()
使用字典(defaultdict
用于更短的代码):
from collections import defaultdict
d=defaultdict(list)
for row in range(1,ws11.max_row+1):
d[ws11.cell(row,1).value].append(ws11.cell(row,2).value)
d
defaultdict(<class 'list'>, {1: ['a', 'g'], 2: ['r', 't'], 3: ['fg', 'd'], 4: ['h', 'd']})
我有以下问题:
我要专栏:
我必须为第一列中的每个元素创建一个列表。准确地说,我必须创建以下列表: 元素 1 的第一个列表应包含 [a, g] 对于元素 2:[r, t],等等
我尝试了一些东西,但我一定不对
我用来找出第一列中哪些元素重复的代码的第一部分
values = []
for i in range(2, ws11.max_row+1):
if ws11.cell(row=i, column=1).value in values:
pass
else:
values.append(ws11.cell(row=i, column=1).value)
print(values)
对于第二部分,我编写了以下代码:
listanew = []
for i in range(1, len(values)+1):
for j in range(2, ws11.max_row+1):
if ws11.cell(row=j, column=1).column == values[i-1]:
listanew.append(ws11.cell(row=j, column=2).value)
print(listanew)
当我尝试打印我的新列表时,我得到了一个空列表。 你能给我一个解决方案吗?
我冒昧地给两列命名了; “A”和“B”。以下是按“A”列对数据进行分组并获取“B”中所有元素的列表的方法:
df = pd.DataFrame({'A': [1,2,3,4,2,3,4,1],
'B': ['a', 'r', 'fg', 'h', 't', 'd', 'd', 'g']})
df = df.groupby('A')['B'].apply(list).reset_index()
使用字典(defaultdict
用于更短的代码):
from collections import defaultdict
d=defaultdict(list)
for row in range(1,ws11.max_row+1):
d[ws11.cell(row,1).value].append(ws11.cell(row,2).value)
d
defaultdict(<class 'list'>, {1: ['a', 'g'], 2: ['r', 't'], 3: ['fg', 'd'], 4: ['h', 'd']})