在用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:
python中sys.stdout和sys.stderr
Hunt for:
jupyter notebook利用markdown插入图片
Tifffycy: