在用pandas读取dict和list的时候,依据结构和需求不同,我们可能需要生成不同格式的DataFrame,这里我总结了下我最近遇到的一些读取操作

1.读取dict

这里我们以一个字典为数据,看下不同操作的结果有何不同

data = {'a':[1,2],'b':[2,3]}

(1)直接调用DataFrame进行读取的话,生成的DataFrame结构如下:

pd.DataFrame(data)
pd.DataFrame.from_dict(data)

需要说明的是: from_dict这个方法只有在pandas 0.23版本后才有,如果在早期的版本如0.19中调用会出现报错

(2)如果我们想以a,b作为索引,以list中的每个值分别为一列怎么操作呢?

pd.DataFrame.from_dict(data,orient='index',columns = ['value1','value2'])

如果进一步想让a、b生成列的话,调用 reset_index 方法即可

pd.DataFrame.from_dict(data,orient='index',columns = ['value1','value2']).reset_index().rename(columns = {'index':'key'})

(3)但是如果我们想把字典的key和value分别生成两列,如何操作呢?

一种方法是:

pd.DataFrame(list(data.items()),columns = ['key','value'])

还有一种方法依然是利用from_dict,不过就需要将value中的list提前转化成字符串,然后再进行操作即可

2.读取list

(1)一般读取一个list,生成的结果如下

pd.DataFrame([1,2,3,4])

(2)如果读取的list中的每个元素都是一个元组,会发生什么呢?

pd.DataFrame([(1,2,3,4),(2,3,4,5)],columns = ['value1','value2','value3','value4'])

如果忽略columns的话,第二个list的值不是列名,而是默认生成索引名,如下:

pd.DataFrame([(1,2,3,4),(2,3,4,5)],['value1','value2'])

以上是最近遇到的一些常用的pandas操作,后面遇到了其他的情况继续完善。

在用pandas读取dict和list的时候,依据结构和需求不同,我们可能需要生成不同格式的DataFrame,这里我总结了下我最近遇到的一些读取操作1.读取dict这里我们以一个字典为数据,看下不同操作的结果有何不同data = {'a':[1,2],'b':[2,3]}(1)直接调用DataFrame进行读取的话,生成的DataFrame结构如下:pd.DataFram... 与 list 写法相同 仅支持行方向上的拼接 data.append(other, ignore_index=False, verify_integrity=False, sort=False) → ’DataFrame’ Series.append(to_append, ignore_index=False, verify_integrity=Fal dict _a = [{‘a’: 0, ‘b’: 1, ‘c’: 2}] 2、 dict 内部的数据至少有1个或多个是 list 形式 注:此时 dict 外面如果加上 list ,即[{}]形式,生成的df,有[]的数据是 list 形式 dict _a = {‘a’: [ 问题很简单,就是 List 里包含了表头(列标签),如下图 百度了半天没有找到相应的例子,查到的都非常雷同的如????第一个分享,百度真是帮不了太多的忙,只好去请教高手,要知道命令时间上非常简单! df2w = pd.DataFrame(df_data_ list [1:],columns=df_data_ list [0])
Python pandas 将字典 dict 转化为DataFrame时需避免的坑一,字典的value都是scalar,既都只有一个值二,字典的value长度不相同时 先上结论: 如果想将字典 dict 转化为只有一行的DataFrame,但字典中的值又存在数组等长度大于一的情况,可以先使用pd.Series(),再使用to_frame将Series转化为DataFrame,最后转置DataFrame。可避免一些坑。 以下是详细阐述。 一,字典的value都是scalar,既都只有一个值 有这样一个字典 d = {
最近在项目中用到LSTM预测,涉及到了大量的numpy数据处理工作。尤其是numpy的增加数据处理,和 pandas list 很不一样。 目前,插入有两种方式:np.append和np.insert 1.np.append 能对多维的数组进行 操作 例如,这里X_test是一个shape为(1,40,1)的数组,我们想向中间的维度(40)添加一个数字1,并删除第一个数字 ......
在对 pandas 中的dataframe进行apply 操作 时,经常会遇到某列中存在nan值的情况,需要先进行判断找出这样的值再进行分情况处理。 今天在处理一列数据时出错了,这一列的每一行都是一个 list ,而部分行为nan 尝试采用下面方法的时候出错了 df['label'].isnull() 错误提示: list is not attribute to isnull... 最后查看了一下...
其中,`文件路径`是Excel文件的路径,可以是绝对路径或相对路径;`工作表名称`是要 读取 的工作表的名称,可以是字符串的形式指定工作表的名称,也可以是整数指定工作表的索引(默认值为0,即第一个工作表)。 读取 后的数据会保存在一个`DataFrame`对象中。接下来,可以使用`to_ dict `方法将`DataFrame`转化为字典形式,具体语法如下: data_ dict = dataframe.to_ dict () `to_ dict `方法可以接收多个参数,用于指定字典的具体结构。一些常用的参数包括: - `orient`: 设置字典的结构,默认值为`' dict '`,表示每列的值以列名作为键,将所有列组合成一个字典。另外还支持`' list '`、`'series'`、`'split'`等结构。 - `into`: 设置字典的格式,默认值为` dict `,表示返回一个` dict `对象。另外还支持`' list '`、`'series'`、`'split'`等格式。 下面是一个简单的示例,演示了如何使用 pandas 读取 Excel数据并转化为字典: ```python import pandas as pd # 读取 Excel数据 dataframe = pd.read_excel('data.xlsx', sheet_name='Sheet1') # 将DataFrame转化为字典 data_ dict = dataframe.to_ dict () # 打印字典数据 print(data_ dict ) 以上就是使用 pandas 读取 Excel数据并转化为字典的方法。注意, 读取 Excel文件前需要安装 pandas 库,可以使用`pip install pandas `命令进行安装。
aimotee: 想问一下,就是在stderr的例子的时候,sys.stderr = open('log_err.txt', 'a'),我使用except Exception as e: print("131616"),为什么不会输入到文件里面,但是使用traceback.print_exc()就可以输入到文件里面 python中sys.stdout和sys.stderr Hunt for: 我现在只能输出到文件了,如何改回输出到控制台 jupyter notebook利用markdown插入图片 Tifffycy: 为什么我ctrl+v不出东西?
 
推荐文章