首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将python字典转换为dataframe,将dict值( list )作为列,如果该列在dict list中,则为1,0

将Python字典转换为DataFrame,将字典值(列表)作为列,并在该列中存在于字典列表中的情况下为1,否则为0,可以使用pandas库来实现。

首先,需要导入pandas库:

代码语言:txt
复制
import pandas as pd

接下来,我们可以定义一个示例字典:

代码语言:txt
复制
data = {'A': [1, 2, 3],
        'B': [4, 5, 6],
        'C': [7, 8, 9]}

然后,我们可以将字典转换为DataFrame:

代码语言:txt
复制
df = pd.DataFrame(data)

此时,DataFrame的结构如下:

代码语言:txt
复制
   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

接下来,我们可以将字典值(列表)作为列,并在该列中存在于字典列表中的情况下为1,否则为0。假设我们要将列'A'的值作为字典列表,可以按照以下步骤进行:

首先,将列'A'的值转换为字典列表:

代码语言:txt
复制
dict_list = df['A'].apply(lambda x: {i: 1 if i in x else 0 for i in x})

然后,将字典列表转换为DataFrame:

代码语言:txt
复制
df_dict = pd.DataFrame(dict_list.tolist())

最后,将新的DataFrame与原始DataFrame进行合并:

代码语言:txt
复制
df_final = pd.concat([df, df_dict], axis=1)

最终,df_final将包含原始DataFrame的所有列以及将字典值(列表)作为列,并在该列中存在于字典列表中的情况下为1,否则为0的新列。

完整的代码示例如下:

代码语言:txt
复制
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。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券