这篇教程Python Pandas创建Dataframe数据框的六种方法汇总写得很实用,希望能帮到您。 创建Dataframe 主要是使用pandas 中的DataFrame 函数,其核心就是第一个参数:data ,传入原始数据,因此我们可以据此给出六种创建Dataframe 的方法:(示例代码环境:jupyter:python3.8)
一、字典类
方法1:列表、数组或元组构成的字典构造Dataframe直接上代码: import pandas as pdimport numpy as npdic = {"a": [1, 2, 3, 4], #列表 "b": np.array([4, 5, 6, 7]), #数组 "c": (1, 2, 3, 4)} #元组data = pd.DataFrame(dic) # 创建Dataframedata 运行结果: 可以看到,一个新的数据框已经创建成功了。系统默认为我们生成了行索引,而列索引就是字典dic 里的key ,我们也可以在创建Dataframe 时手动指定行索引,只需修改参数index : import pandas as pdimport numpy as npdic = { "a": [1, 2, 3, 4], # 列表 "b": np.array([4, 5, 6, 7]), # 数组 "c": (1, 2, 3, 4),} # 元组data = pd.DataFrame(dic, index=["一", "二", "三", "四"]) # 创建Dataframedata 运行结果: 那么如果事后我们后悔了,觉得我们起的列索引的名字不好听,怎么修改呢?只需修改Dataframe 的columns 属性: data.columns = ["A", "B", "C"]data 结果如下: 读者也可以尝试修改Dataframe 的index 属性。
方法2:Series构成的字典构造Dataframeimport pandas as pdimport numpy as npdic = {"a": pd.Series([1, 2, 3, 4]), "b": pd.Series([4, 5, 6, 7])}data = pd.DataFrame(dic) # 创建Dataframedata 运行结果: 方法3:字典构成的字典构造Dateframe import pandas as pdimport numpy as npdic = {"a": {"一": 1, "二": 2}, "b": {"一": 10, "二": 20}, "c": {"一": 100, "二": 200}}data = pd.DataFrame(dic) # 创建Dataframedata 运行结果: 其中:外层的a,b,c 这三个key 作为了列索引,内层的一,二 作为了行索引。读者可以尝试为字典dic 再添加一个元素:"d":{"一": 100} ,看看创建出来的Dataframe 长什么样,这个结果会给你什么启示?
二、列表类
方法1:二维数组构造Dataframeimport pandas as pdimport numpy as npls = np.arange(12).reshape(3, 4) # 创建二维数组data = pd.DataFrame(ls)data 运行结果:
方法2:字典列表构造Dataframeimport pandas as pdimport numpy as npls = [{"一": 1, "二": 2}, {"一": 10, "二": 20}, {"一": 100, "二": 200}]data = pd.DataFrame(ls)data 运行结果: 可以看到,列表中的字典的key 作为了列索引,这个就很像关系型数据库里的字段和值。读者要注意和字典类中方法3的区别。
方法3:Series列表构造Dataframeimport pandas as pdimport numpy as npls = [pd.Series([1, 2, 3, 4]), pd.Series([4, 5, 6, 7])]data = pd.DataFrame(ls)data 运行结果:
三、小结笔者为读者提供了六种方法创建Dataframe ,这里总结一下: 1.细心的读者可能会发现: 在字典类中,字典最外层的key 都作为了列索引 ,而值 则作为某一行的值; 在列表类中,列表的每一个元素都作为了某一行的值。 2.读者需要在实际数据处理时,根据处理数据的特点选择合适的方式创建Dataframe 。 到此这篇关于Python Pandas创建Dataframe数据框的六种方法的文章就介绍到这了,更多相关Python Pandas创建Dataframe数据框内容请搜索wanshiok.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持wanshiok.com! Python之tkinter文字区域Text使用及说明 Python之tkinter进度条Progressbar用法解读 |