Python while循环内迭代期间的TypeError

Python while循环内迭代期间的TypeError,python,pandas,while-loop,Python,Pandas,While Loop,我在分配任务时遇到了一些麻烦。我试图找出错误所在,但仍然没有成功。我有以下数据集(例如,很小): 由于T2、V1和V2显示为列表,因此我必须使用explode()并创建两个新变量new_T2和new_t1,以检查这些列中仍然缺少哪些值,需要检查哪些值 df = df.explode('T2') 获取以下错误(在我将在本文稍后讨论的函数中导致): 非常感谢您的帮助。这是我理解的解决方案- 首先,您可以将数据帧展平以便于计算,这可以通过以下方式完成(仅当explode无法直接工作时才使用ast.l

我在分配任务时遇到了一些麻烦。我试图找出错误所在,但仍然没有成功。我有以下数据集(例如,很小):

由于T2、V1和V2显示为列表,因此我必须使用explode()并创建两个新变量new_T2和new_t1,以检查这些列中仍然缺少哪些值,需要检查哪些值

df = df.explode('T2')
获取以下错误(在我将在本文稍后讨论的函数中导致):


非常感谢您的帮助。

这是我理解的解决方案-

首先,您可以将数据帧展平以便于计算,这可以通过以下方式完成(仅当explode无法直接工作时才使用ast.literal\u eval)

该操作将像这样展平数据帧-

T1 T2 V1 V2 姓名1 姓名3 1. A. 姓名1 姓名4 2. B 姓名2 楠 楠 楠 姓名3 姓名1 1. C 姓名4 姓名1 12 C 姓名4 姓名 2. NA 姓名4 姓名13 4. D 姓名4 姓名1 12 C 姓名4 姓名 2. NA 姓名4 姓名13 4. D
df = df.explode('T2')
TypeError: string indices must be integers
from ast import literal_eval
for col in df.columns.values[1:]:
    df[col] = df[col].apply(literal_eval) #convert to list type
df = df.set_index(['T1']).apply(pd.Series.explode).reset_index()