首页 > 编程问答 >蟒蛇|熊猫 |将列添加到数据框

蟒蛇|熊猫 |将列添加到数据框

时间:2024-07-30 12:47:20浏览次数:13  
标签:python pandas dataframe

为什么输出中“三”列显示在“二”列之前?我编写了代码以在“一”和“二”之后添加列“三”?

Python Pandas 源代码和输出

上面的源代码和我得到的输出在图像中位于它的下面。 我运行了另一个代码来向 DataFrame 添加列,它按我的预期工作,但为什么会出现这种异常?

# The append() function can be used to add more rows to the DataFrame

data2= {'one': pd.Series([1,2,3], index = ['a', 'b', 'c']), '二':pd.Series([1,2,3,4], 索引 = ['a', 'b', 'c', 'd'])}| ||table5 pd.DataFrame(data2) table5 ['三'] = pd.Series([10,20,30], 索引 = ['a', 'b', 'c'])

row = pd .DataFrame([[11,13],[17,19]],columns = ['二','三'])

table6 table5.append(row)

print(table6)

print(table6)


熊猫 DataFrame 不会保留插入列的顺序,而是按字母顺序对其进行排序。如果你想要特定的列顺序,你可以在构造或操作后使用 reindex 方法。

以下是如何使用 reindex 控制列顺序的方法:

import pandas as pd

data2 = {'one': pd.Series([1, 2, 3], index=['a', 'b', 'c']),
         '二': pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])}
table5 = pd.DataFrame(data2)
table5['三'] = pd.Series([10, 20, 30], index=['a', 'b', 'c'])

# 将行追加到 DataFrame(列顺序在这里不重要)
row = pd.DataFrame([[11, 13], [17, 19]], columns=['二', '三'])
table6 = table5.append(row)

# 使用 reindex 定义所需的列顺序
table6 = table6.reindex(columns=['one', '二', '三'])

print(table6)

这将按照你期望的顺序打印出 DataFrame,其中列为“一”,“二”,“三”。

reindex 方法允许你通过传递所需顺序的列名列表来重新排列 DataFrame。

标签:python,pandas,dataframe
From: 78809841

相关文章

  • Pandas to_csv 无法附加到 Databricks 云中的文件(OSError Errno 95 不支持操作)
    为什么我无法使用下面的代码覆盖文件?我希望创建文件b.csv,然后附加每次迭代。虽然我给出mode='a'(追加),但不知何故我可能会创建文件但不追加到它。files=dbutils.fs.ls("/mnt/lake/RAW/test/billion-row-ingestion-time/table/")parquet_file_list=[each.pat......
  • 从零开始的Python开发日记(7):短信验证功能开发流程
    短信验证功能开发流程在开发一个包含登录、注册以及短信验证的功能时,你需要遵循一个系统的开发流程。以下是实现这一功能的基本步骤,包括所需的技术和代码示例。1.环境配置首先,确保你的开发环境已经配置好,并安装了必要的库和工具。pipinstallfastapiuvicornsqlalche......
  • 【Python数值分析】革命:引领【数学建模】新时代的插值与拟合前沿技术
    目录​编辑第一部分:插值的基本原理及应用1.插值的基本原理1.1插值多项式1.2拉格朗日插值 1.3牛顿插值 1.4样条插值2.插值的Python实现2.1使用NumPy进行插值2.2使用SciPy进行插值2.2.1一维插值​编辑2.2.2二维插值3.插值的应用场景3.1数据平......
  • 在家用电脑上设置 Python 和 Jupyter,尝试打开 Jupyter 笔记本并显示错误,无法获取
    我有最新的Python版本3.12.4和以下版本的Jupyter:SelectedJupytercorepackages...IPython:8.26.0ipykernel:6.29.5ipywidgets:notinstalledjupyter_client:8.6.2jupyter_core:5.7.2jupyter_server:2.14.2jupyterlab......
  • Python - Reloading a module
    Eachmoduleisloadedintomemoryonlyonceduringaninterpretersessionorduringaprogramrun,regardlessofthenumberoftimesitisimportedintoaprogram.Ifmultipleimportsoccur,themodule’scodewillnotbeexecutedagainandagain.Suppose......
  • 返回视图与副本。尝试在 DataFrame 的切片副本上设置一个值。尝试使用 .loc[row_index
    我从雅虎财经(yfinance)下载了有关股票交易价格和交易量的数据。然后我创建了Closes数据框,其中包含收盘价和成交量的数据(我删除了不必要的信息)。然后我想将列添加到Closes数据框中,并计算年、季度、月和周的平均交易量。但在执行代码时,会出现警告“正在尝试在DataFrame切......
  • vscode python 3.7 pylance debugpy 插件 vsix
    可能报错  crashed5timesinthelast3minutes.Theserverwillnotberestarted.  ---pylance 可能报错  cannotreadpropertiesofundefinedreadingresolveEnvironment   --- debugger可能      vscodepython3.7调试没有反应......
  • Python获取秒级时间戳与毫秒级时间戳的方法[通俗易懂]
    参考资料:https://cloud.tencent.com/developer/article/21581481、获取秒级时间戳与毫秒级时间戳、微秒级时间戳代码语言:javascript复制importtimeimportdatetimet=time.time()print(t)#原始时间数据print(int(t))......
  • CEFPython
    在Tkinter界面中直接嵌入Selenium的浏览器视图并不是一件直接的事情,因为Selenium本身并不提供图形界面嵌入的功能。Selenium主要用于自动化web浏览器,但它并不直接控制浏览器窗口的显示方式,而是依赖于WebDriver来与浏览器交互。然而,你可以使用一些替代方案来在Tkinter应用中模拟或......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-58 - 文件下载
    1.简介前边几篇文章讲解完如何上传文件,既然有上传,那么就可能会有下载文件。因此宏哥就接着讲解和分享一下:自动化测试下载文件。可能有的小伙伴或者童鞋们会觉得这不是很简单吗,还用你介绍和讲解啊,不说就是访问到下载页面,然后定位到要下载的文件的下载按钮后,点击按钮就可以了。其实......