首页
学习
活动
专区
工具
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。

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

相关·内容

Python环境】Python的结构化数据分析利器-Pandas简介

从列表的字典构建DataFrame,其中嵌套的每个列表(List)代表的是一个字典的名字则是标签。这里要注意的是每个列表的元素数量应该相同。...DataFrame换为其他类型 df.to_dict(outtype='dict') outtype的参数为‘dict’、‘list’、‘series’和‘records’。...dict返回的是dict of dictlist返回的是列表的字典;series返回的是序列的字典;records返回的是字典的列表 查看数据 head和tail方法可以显示DataFrame前N条和后...(以单独列名作为columns的参数),也可以进行多重排序(columns的参数为一个列名的List,列名的出现顺序决定排序的优先级),多重排序ascending参数也为一个List,分别与columns...(可选参数,默认为所有标签),两个参数既可以是列表也可以是单个字符,如果两个参数都为列表则返回的是DataFrame,否则,则为Series。

15.1K100

Pandas把dataframe或series转换成list的方法

]}) 把a的元素转换成list: # 方法1df['a'].values.tolist() # 方法2df['a'].tolist() 把a不重复的元素转换成list: df['a'].drop_duplicates...df.values.tolist() 把series转换为list Series.tolist() Python Dataframe转化为字典dict) 有时候我们需要Dataframe的一作为...1, ‘b’: 2} Dataframe有自带的方法可以Dataframe换为字典的格式。...但是,这种方法是复合的字典,每一dataframe的index为key而不是某一,每一作为字典的value,然后再将所有的放在一个字典里面。...dict2 = data.set_index('key').to_dict() 使用时需要注意的是,这种方法输出的字典也是复合的字典,有一个用做字典value的的列名。

11.1K31
  • 洞悉客户心声:Pandas标签帮你透视客户,标签化营销如虎添翼

    原数据没有“其他”的“其他”填入和“NULL”key对应的相同的value return df:传入的dfcat_dict存在的指标的已被替换成为对应标签的 ''' for...) # 主要是找出 不正常的数据 脏数据, 如果数据质量不错,这里就不会执行 # 数据框列为 key 且数值等于 num_null[key] 的换为 98。...三、对数值型指标进行判断该函数用于对数值型指标进行判断,大于输入的词典的阙的判断为1,否则为0。举个例子,现在要判定客户是否为存续客户,如果存续金额>0则为1,否则为0。...df : dataframe,传入待处理的dateframe,必须包括待处理的指标 boo_dict: dict类型,key代表待判断的指标名称,value代表指标对应的阙...对象 字典 print(cat_dict)运行结果{'curr_hold_amt_mom': -2, 'curr_hold_amt_yoy': -2}五、pandas横表竖表最后这段代码的主要作用是数据从横表转换为竖表

    18510

    Pandas全景透视:解锁数据科学的黄金钥匙

    底层使用C语言:Pandas的许多内部操作都是用Cython或C语言编写的,Cython是一种Python的超集,它允许Python代码转换为C语言代码,从而提高执行效率。...具体来说,map()函数可以接受一个字典或一个函数作为参数,然后根据这个字典或函数对 Series 的每个元素进行映射或转换,生成一个新的 Series,并返回 Series。...如果传入的是一个字典,则 map() 函数将会使用字典中键对应的来替换 Series 的元素。如果传入的是一个函数,则 map() 函数将会使用该函数对 Series 的每个元素进行转换。...如果method未被指定, axis下,最多填充前 limit 个空(不论空连续区间是否间断)downcast:dict, default is None,字典的项为,为类型向下转换规则。...n,则表示x的数值分成等宽的n份(即每一组内的最大与最小之差约相等);如果是标量序列,序列的数值表示用来分档的分界如果是间隔索引,“ bins”的间隔索引必须不重叠举个例子import pandas

    10510

    python下的PandasDataFrame基本操作(二),DataFramedict、array构造简析

    DataFrame简介:   DataFrame是一个表格型的数据结构,它含有一组有序的,每可以是不同的类型(数值、字符串、布尔等)。...其实,DataFrame的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。...导入基本python库: import numpy as np import pandas as pd DataFrame构造:   1:直接传入一个由等长列表或NumPy数组组成的字典dict...: Shape of passed values is (3, 5), indices imply (3, 4) 2:传入一个由嵌套的字典;   它就会被解释为:外层字典的键作为,内层键则作为行索引。...参考资料:《利用Python进行数据分析》 一个空的dataframe插入数据 def test(): LIST=[1,2,3,4] empty = pd.DataFrame(columns

    4.4K30

    一句python,一句R︱列表、元组、字典、数据类型、自定义模块导入(格式、去重)

    s 转换为一个元组 list(s) 序列 s 转换为一个列表 set(s) 转换为可变集合 dict(d) 创建一个字典。...#以列表的形式返回字典,返回的列表可包含重复元素 D.items() #所有的字典项以列表方式返回,这些列表的每一项都来自于(键,),但是项返回时并没有特殊的顺序...#以列表的形式返回字典,返回的列表可包含重复元素 D.items() #所有的字典项以列表方式返回,这些列表的每一项都来自于(键,),但是项返回时并没有特殊的顺序...其中的.values()就可以实现dict转化为list 字符串转化为字典: eval(user) 字典dataframe: def dict2dataframe(content_dict...) #行数 len(data.T) #数 其中data.T是数据置,就可以知道数据的行数、数。

    6.9K20

    python读取json文件转化为list_利用Python解析json文件

    使用python解析json python的json库可以json读取为字典格式。...=load_dict.keys()) data_raw = data_raw.append(load_dict,ignore_index=True) 接下来,我们要做的就是把每一,格式为dictlist...col_name,axis=1,inplace=True) # 删除原始 return df ### 遍历整个dataframe,处理所有类型为dict def json_parse(df):...={}: df=json_to_columns(df,i) #调用上面的函数 return df ### 处理类型为list,转换为dict def list_parse(df): for i in...总结一下,解析json的整体思路就是 ①json读入python转化为dict格式 ②遍历dict的每一个key,key作为列名,对应的value作为 ③完成②以后,删除原始,只保留拆开后的

    7.2K30

    Python 数组操作_python数组

    3 list.extend(seq)列表末尾一次性追加另一个序列的多个(用新列表扩展原来的列表) 4 list.index(obj)从列表找出某个第一个匹配项的索引位置 5 list.insert...(index, obj)将对象插入列表 6 list.pop([index=-1])移除列表的一个元素(默认最后一个元素),并且返回元素的 7 list.remove(obj)移除列表某个的第一个匹配项...])创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始 4 dict.get(key, default=None)返回指定键的如果不在字典返回default 5...dict.has_key(key)如果字典dict里返回true,否则返回false 6 dict.items()以列表返回可遍历的(键, ) 元组数组 7 dict.keys()以列表返回一个字典所有的键...8 dict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典,将会添加键并将设为default 9 dict.update(dict2)把字典dict2

    3.5K20

    Python-科学计算-pandas-14-df按行按进行转换

    的科学计算及可视化 今天讲讲pandas模块 Df按行按进行转换 Part 1:目标 最近在网站开发过程,需要将后端的Df数据,渲染到前端的Datatables,前端识别的数据格式有以下特征...- 数据格式为一个列表 - 列表每一个元素为一个字典,每个字典对应前端表格的一行 - 单个字典的键为前端表格的列名,字典为前端表格每取的 简单来说就是要将一个Df转换为一个列表,列表有特定的格式...格式转换为列表 ?...表示记录,对应数据库的行 Part 4:延伸 以上方法Df按行转换,那么是否可以按进行转换呢?...字典的键为列名,为一个列表,列表对应df的一个 dict_fields = df_1.to_dict(orient='list') print(dict_fields) ? list对应结果 ?

    1.9K30

    esproc vs python 5

    Np.array()list格式的列表转换成数组。由于这里的行表示的是每一个字段的,np.transpose(a)是数组a置。pd.DataFrame()转成dataframe结构。...如果date_list的日期数量大于1了,生成一个数组(判断数据每个日期是否该段时间段内,在为True,否则为False)。...(F)设置索引为F,df.T,df的行列置,df.to_dict(‘list’)dataframe转换成字典,字段的key为df的字段名,value为df的字段形成的list。...初始化一个空list,用于存放每个ANOMALIES字段拆分以后的dataframe 循环字典 value的第一个元素按照空格切分,形成一个列表anomalies 根据这个列表长度复制key的,形成数组...我们的目的是过滤掉重复的记录,取出前6,并重整第7,8两,具体要求是:wrok phone作为新文件第7work email作为新文件第8如果有多个work phone或work email

    2.2K20

    《Pandas Cookbook》第09章 合并Pandas对象

    # 选取一行,并将其转换为字典 In[16]: data_dict = bball_16.iloc[0].to_dict() print(data_dict) {'playerID'...,如果是字符串则为空,否则为缺失 In[17]: new_data_dict = {k: '' if isinstance(v, str) else np.nan for k, v in data_dict.items...# 两个DataFrame放到一个列表,用pandas的concat方法将它们连接起来 In[24]: s_list = [stocks_2016, stocks_2017] pd.concat...) join: DataFrame方法 只能水平连接两个或多个pandas对象 对齐是靠被调用的DataFrame索引或行索引和另一个对象的行索引(不能是索引) 通过笛卡尔积处理重复的索引 默认是左连接...通过笛卡尔积处理重复的索引 默认是内连接(也可以设为左连接、外连接、右连接) # 用户自定义的display_frames函数,可以接收一DataFrame,然后一行显示: In[91]: from

    1.9K10

    Python库的实用技巧专栏

    0, 否则设置为None, 如果明确设定header=0就会替换掉原来存在列名, 如果list表示文件的这些行作为标题(意味着每一有多个标题), 介于中间的行将被忽略掉, 注意:如果skip_blank_lines..., 如果文件不规则, 行尾有分隔符, 则可以设定index_col=False来使pandas不适用第一作为行索引 usecols: array-like 返回一个数据子集, 列表必须可以对应到文件的位置..., or dict 一组用于替换NA/NaN的, 如果传递, 需要制定特定的空。...ints or names or list of lists or dict 传递True将会解析索引 传递list of ints or names(例如[1, 2, 3])将会解析1,2,3作为独立的日期...: bool 如果设定为True并且parse_dates可用, 那么pandas尝试转换为日期类型, 如果可以转换, 转换方法并解析。

    2.3K30

    Pandas 实践手册(一)

    __version__ Out[1]: '1.0.3' 与 Numpy 一样,为了使用方便我们会将 Pandas 以「别名」的形式导入: In[2]: import pandas as pd 接下来的介绍我们都将使用导入方式...我们还可以 Series 看作一种特殊的 Python 字典。...字典是一种任意的键映射到任意的上的数据结构,而 Series 则是包含类型信息的键映射到包含类型信息的上的数据结构。「类型信息」可以为 Series 提供比普通字典更高效的操作。...2.2.2 DataFrame 作为特殊的字典 我们也可以 DataFrame 对象看作一种特殊的字典,其一个「列名」映射到一个 Series 对象上。...,因此 DataFrame 对象需要首先通过索引来找到对象,再去通过行索引访问具体的

    2K10

    Read_CSV参数详解

    header参数可以是一个list例如:[0,1,3],这个list表示文件的这些行作为标题(意味着每一有多个标题),介于中间的行将被忽略掉(例如本例的2;本例的数据1,2,4行将被作为多级标题出现...usecols : array-like, default None 返回一个数据子集,列表必须可以对应到文件的位置(数字可以对应到指定的)或者是字符传为文件的列名。...可以选择C或者是python。C引擎快但是Python引擎功能更加完备。 converters : dict, default None 转换函数的字典。key可以是列名或者的序号。...na_values : scalar, str, list-like, or dict, default None 一组用于替换NA/NaN的如果传参,需要制定特定的空。默认为‘1....parse_dates 可用,那么pandas尝试转换为日期类型,如果可以转换,转换方法并解析。

    2.7K60

    python pandas.read_csv参数整理,读取txt,csv文件

    header参数可以是一个list例如:[0,1,3],这个list表示文件的这些行作为标题(意味着每一有多个标题),介于中间的行将被忽略掉(例如本例的2;本例的数据1,2,4行将被作为多级标题出现...usecols : array-like, default None 返回一个数据子集,列表必须可以对应到文件的位置(数字可以对应到指定的)或者是字符传为文件的列名。...可以选择C或者是python。C引擎快但是Python引擎功能更加完备。 converters : dict, default None 转换函数的字典。key可以是列名或者的序号。...na_values : scalar, str, list-like, or dict, default None 一组用于替换NA/NaN的如果传参,需要制定特定的空。默认为‘1....parse_dates 可用,那么pandas尝试转换为日期类型,如果可以转换,转换方法并解析。

    6.4K60

    python pandas.read_csv参数整理,读取txt,csv文件

    header参数可以是一个list例如:[0,1,3],这个list表示文件的这些行作为标题(意味着每一有多个标题),介于中间的行将被忽略掉(例如本例的2;本例的数据1,2,4行将被作为多级标题出现...usecols : array-like, default None 返回一个数据子集,列表必须可以对应到文件的位置(数字可以对应到指定的)或者是字符传为文件的列名。...可以选择C或者是python。C引擎快但是Python引擎功能更加完备。 converters : dict, default None 转换函数的字典。key可以是列名或者的序号。...na_values : scalar, str, list-like, or dict, default None 一组用于替换NA/NaN的如果传参,需要制定特定的空。默认为‘1....parse_dates 可用,那么pandas尝试转换为日期类型,如果可以转换,转换方法并解析。

    3.8K20
    领券