将Python字典转换为DataFrame,将字典值(列表)作为列,并在该列中存在于字典列表中的情况下为1,否则为0,可以使用pandas库来实现。
首先,需要导入pandas库:
import pandas as pd
接下来,我们可以定义一个示例字典:
data = {'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]}
然后,我们可以将字典转换为DataFrame:
df = pd.DataFrame(data)
此时,DataFrame的结构如下:
A B C
0 1 4 7
1 2 5 8
2 3 6 9
接下来,我们可以将字典值(列表)作为列,并在该列中存在于字典列表中的情况下为1,否则为0。假设我们要将列'A'的值作为字典列表,可以按照以下步骤进行:
首先,将列'A'的值转换为字典列表:
dict_list = df['A'].apply(lambda x: {i: 1 if i in x else 0 for i in x})
然后,将字典列表转换为DataFrame:
df_dict = pd.DataFrame(dict_list.tolist())
最后,将新的DataFrame与原始DataFrame进行合并:
df_final = pd.concat([df, df_dict], axis=1)
最终,df_final将包含原始DataFrame的所有列以及将字典值(列表)作为列,并在该列中存在于字典列表中的情况下为1,否则为0的新列。
完整的代码示例如下:
import pandas as pd
data = {'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]}
df = pd.DataFrame(data)
dict_list = df['A'].apply(lambda x: {i: 1 if i in x else 0 for i in x})
df_dict = pd.DataFrame(dict_list.tolist())
df_final = pd.concat([df, df_dict], axis=1)
这样,你就可以将Python字典转换为DataFrame,并将字典值(列表)作为列,并在该列中存在于字典列表中的情况下为1,否则为0。
领取专属 10元无门槛券
手把手带您无忧上云