dict转dataframe,将keys作为数据列,并重新命名

Python中,将 dict 转为 pandas 中的 dataframe 格式,并将 dict 的 keys 作为数据列,且赋予该数据列新的列名。

我们假设dict的内容如下所示:

dict_data = {a: 1, b: 2, c: 3}

假设我们想要将keys 与 values 作为数据列,并且命名为kys 和 vas。
那么,首先要将其转换为dataframe,

import pandas as pd
frame = pd.DataFrame.from_dict(dict_data, orient='index', columns=['values']

此时,生成的dataframe会默认将keys作为索引(index),如下所示:

vas
a1
b2
c3

因此,我们要先使用DataFrame的reset_index()函数,将索引列恢复为数据列。

frame2 = frame.reset_index()

reset_index( ) 默认返回一个新的副本,但是原来的 dataframe 并没有发生改变,所以需要创建新的变量来接收副本。现在,新的dataframe则是下面的样子:

indexvas
0a1
1b2
2c3

可以发现,keys 由索引列变成了数据列,且列名默认为 ‘index’。现在我们可以再使用dataframe的rename( )方法,为 ‘index’ 列重命名:

frame3 = frame2.rename(columns={'index': 'kys'})

此时,表格形式如下:

kysvas
0a1
1b2
2c3

至此,达成目的。

(1)关于dataframe.rom_dict( )中的orient参数设置的问题,建议参考官方说明,不做赘述 here.
(2)至于rename( ) 的参数问题,建议参考官方链接 here.

dict转dataframe,将keys作为数据列,并重新命名Python中,将 dict 转为 pandas 中的 dataframe 格式,并将 dict 的 keys 作为数据列,且赋予该数据列新的列名。我们假设dict的内容如下所示:dict_data = {a: 1, b: 2, c: 3}假设我们想要将keys 与 values 作为数据列,并且命名为kys 和 vas。那...
Python中,使用pandas进行数据处理和存储非常方便,同样,字典的使用也是很多操作中不可或缺的。本文主要是记录在使用过程中的经历,总结和分享,便于日后查看。 任务1:将字典的keys作为pandas的名称,values作为pandas的行数据 废话不多说,直接上代码,结果一目了然: import pandas as pd dct = {'key1': [1, 4], 'key2': [2, 5], 'key3': [3, 6]} dataframe = pd.DataFrame(dct, in.
a = ['Name', 'Age', 'Gender'] b = ['Ali', '19', 'China'] data = pd.DataFrame(zip(a, b), columns=['project', 'attribute']) print data dict_country = data.set_index('project').T.to_dict('list') print dict_c # 创建 MySQL 数据库连接 engine = create_engine('mysql+pymysql://username:password@host:port/database') # 读取 DataFrame 数据 df = pd.read_csv('data.csv') # 将 DataFrame 写入 MySQL 数据库中 df.to_sql(name='table_name', con=engine, if_exists='append', index=False) 其中,name 参数为表名,con 参数为数据库连接,if_exists 参数为数据存在时的处理方式,index 参数为是否将 DataFrame 的索引写入数据库中。如果需要将 DataFrame 的某一插入到 MySQL 表的指定中,可以先将 DataFrame 换为字典,再使用 MySQL 的 INSERT INTO 语句插入数据,示例代码如下: ```python import pandas as pd import pymysql # 创建 MySQL 数据库连接 conn = pymysql.connect(host='host', port=port, user='username', password='password', database='database') # 读取 DataFrame 数据 df = pd.read_csv('data.csv') # 将 DataFrame 换为字典 data = df.to_dict(orient='records') # 插入数据到 MySQL 表中 cursor = conn.cursor() for row in data: sql = "INSERT INTO table_name (col1, col2, col3) VALUES (%s, %s, %s)" cursor.execute(sql, (row['col1'], row['col2'], row['col3'])) conn.commit() cursor.close() conn.close() 其中,col1、col2、col3 分别为 MySQL 表中的名,可以根据实际情况进行修改。