首页 > 编程问答 >在 Python 中将 2 列的数据框转换为一系列 2 列

在 Python 中将 2 列的数据框转换为一系列 2 列

时间:2024-07-21 11:50:34浏览次数:10  
标签:python pandas

我正在尝试处理一些时间序列数据,并且对 pandas 数据框相当陌生。我有一个包含两列的数据框,如下所示:

+---+-----------------------+-------+--+
|   |           0           |   1   |  |
+---+-----------------------+-------+--+
| 1 | 2018-08-02 23:00:00   | 456.8 |  |
| 2 | 2018-08-02 23:01:00   | 457.9 |  |
+---+-----------------------+-------+--+

我正在尝试将其转换为具有两列的系列,就像数据框中一样。如何做呢?因为 pd.series 正在将数据帧转换为一系列单列。


在 Pandas 中,不能创建具有两列的 Series。Pandas Series 是一个一维的、带标签的数组,只能保存一列数据。

如果你想将两列数据框转换为一个保持两列结构的对象,你可以使用以下选项:

  1. 使用 to_numpy() 将其转换为 NumPy 数组:
df = pd.DataFrame({
    0: pd.to_datetime(['2018-08-02 23:00:00', '2018-08-02 23:01:00']),
    1: [456.8, 457.9]
})

data_array = df.to_numpy()
print(data_array)

这将创建一个二维 NumPy 数组,其中每一行对应数据框中的一行。

  1. 使用 to_records() 将其转换为结构化数组:
data_records = df.to_records(index=False)
print(data_records)

这将创建一个结构化数组,其中每列都有一个名称(来自数据框的列名),并且可以像访问 NumPy 结构化数组中的字段一样访问数据。

  1. 使用列表推导创建一个元组列表:
data_list = [(row[0], row[1]) for row in df.values]
print(data_list)

这将创建一个包含元组的列表,每个元组代表数据框中的一行。

选择哪种方法取决于你打算如何使用转换后的数据。

标签:python,pandas
From: 51873006

相关文章

  • Pandas入门,作业详解
    #课程作业2补充——个人笔记#直播链接:第二课堂作业讲解_哔哩哔哩_bilibili配合上个笔记:课程作业2——Pandas入门基本操作-CSDN博客作业用到的数据:链接:https://pan.quark.cn/s/4f673346914c提取码:gix8一.准备工作打开jupyterNoteBook参照Python入门(含python基础语法+......
  • 基于python的非平稳时间序列模型
    前言平稳时间序列指的是宽平稳时间序列,就是指时间序列的均值、方差和协方差等一二阶矩存在但不随时间改变,表现为时间的常数。若三个条件有一个不成立,那么就称该序列为非平稳时间序列。包括确定性趋势时间序列和随机性趋势时间序列。要想把非平稳的时间序列转化为平稳的时......
  • 猫头虎 Python知识点分享:pandas--read_csv()用法详解
    ......
  • 使用 Python 绘图
    我有一个.txt文件,从中找到有序对,然后使用numpy和matplotlib绘制图形。例如,这些是我的有序对:[[(4.0,0),(0,6.0)],[(6.0,0),(0,3.0)]](每个子列表代表最终图形中的一条线)图形如下所示:但我想找到两条线之间的交点。如果有更多的线,我怎样才能找到它们......
  • 用python计算形状的距离
    我想计算该图像的最小垂直距离和最大水平距离。就像线条一样。我正在尝试:_,binary_image=cv2.threshold(image,0,255,cv2.THRESH_BINARY)horizontal_distances=np.sum(binary_image==255,axis=1)max_horizontal_distance=np.max(horizontal_distance......
  • 将 pandas 数据框中的列移动到大型数据框中的最后一列的最佳方法
    我有一个包含100多列的pandas数据框。例如,在以下df:df['A','B','C','D','E','date','G','H','F','I']如何将日期移动到最后一列?假设数据帧很大并且我无法手动写入所有列名称。以下是将pandas数据框中的列移动到大型数据框......
  • 在感知器学习模型的 Python 实现中将数组传递给 numpy.dot()
    我正在尝试将单层感知器分类器的Python实现放在一起。我发现SebastianRaschka的《Python机器学习》一书中的示例非常有用,但我对他的实现的一小部分有疑问。这是代码:importnumpyasnpclassPerceptron(object):"""Perceptronclassifier.Parameters......
  • 带时间戳的 Python 命令行历史记录
    有没有办法记录每个命令的时间?例如,挂钩交互式shell,以便它将相同的内容写入~/.python_history到~/.python_history_timestamps但带有时间戳?我正在跟踪我白天所做的事情并将其放入我的日历中。为了帮助回溯,我使用了firefox历史记录、Dropbox活动、一个......
  • 在 python3 中迭代字典键时无法删除它:“RuntimeError:字典在迭代期间更改了大小”
    我试图在迭代字典时从字典中删除一个键。从字典中删除键时,我得到:RuntimeError:dictionarychangedsizeduringiteration我的代码:mydict={'one':1,'two':2,'three':3,'four':4}fork,vinmydict.items():ifk=='two'......
  • Python pyTelegramBotAPI:设置不受循环影响的变量
    我想创建一个基本上是布尔值的变量(无论机器人是否工作)。但是,当使用TeleBot.polling()时,脚本开始无限循环,所以如果我在代码开头设置一个变量就像:is_bot_working=True,变量将始终为真,反之亦然。那么,我应该如何设置一个不受循环影响的变量?这就是代码:impor......