pandas——Dataframe的多种创建方式

理解Dataframe

Dataframe是pandas中的一种数据结构,表示二维矩阵的数据表,区别于列表和字典这种一维的结构。二维具体表示为行和列,类似于sql中表的格式(或者简单理解为类似于excel中的一张表),每一列可储存不同的数据类型,比如字符型、数值型、布尔型或者object类型。

创建Dataframe

  1. 从字典中创建
import pandas as pd
d = {'广东':['广州','深圳'], '福建':['福州', '厦门']}
df = pd.DataFrame(d)

pandas——Dataframe的多种创建方式

​注:

使用第一种方法一般需要字典的值为列表,如果是

d = {'广东':23, '福建':8, '江苏':13}
df = pd.DataFrame(d)

会报错:ValueError: If using all scalar values, you must pass an index,意思是需要确定并传入索引index。

  • 解决办法一可以根据想要表达的意思传入索引:
d = {'广东':23, '福建':8, '江苏':13}
df = pd.DataFrame(d, index=[0])

pandas——Dataframe的多种创建方式

​传入几个索引,DataFrame就会有几行,不过在这里每一行都是相同的:

d = {'广东':23, '福建':8, '江苏':13}
df = pd.DataFrame(d, index=[0,1,2])

pandas——Dataframe的多种创建方式
  • 解决办法二也可以使用list(d.items()):

list(d.items())的得到的结果是这样的,将字典转化为一对对键值对:

[('广东', 23), ('福建', 8), ('江苏', 13)]

传入Dataframe:

d = {'广东':23, '福建':8, '江苏':13}
df = pd.DataFrame(list(d.items()))

pandas——Dataframe的多种创建方式

这样更接近我想要的结果

这时可以给Dataframe的列命名,相当于原来字典的key为一列,value为一列

d = {'广东':23, '福建':8, '江苏':13}
df = pd.DataFrame(list(d.items()), columns=['省', '地级市'])

pandas——Dataframe的多种创建方式
  • 解决办法三使用DataFrame.from_dict()
d = {'广东':23, '福建':8, '江苏':13}
df = pd.DataFrame.from_dict(d, orient='index')

pandas——Dataframe的多种创建方式
  1. 从numpy ndarray创建
df = pd.DataFrame(np.array([['广州', '厦门', '乌鲁木齐'],
                            ['深圳', '福州', '喀什'],
                            ['汕头', '泉州', '石河子']]),
                    columns=['广东', '福建', '新疆'])

pandas——Dataframe的多种创建方式

​np.array与dict构造DataFrame不一样,array里面每一个list长度必须一样,代表DataFrame每一行,类似于sql insert插入表,值顺序对应好列名。

  1. 使用pd.read_csv等读取csv文件创建,或者pd.read_excel等

参考链接:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html?highlight=dataframe#pandas.DataFrame

Original: https://blog.csdn.net/Jason_hzs/article/details/126283076
Author: 藤原豆腐速递
Title: pandas——Dataframe的多种创建方式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/743963/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球