首页 > 解决方案 > Python pandas 存储数据集的最佳方式

问题描述

我有一个包含数千个条目的数据集,如下所示: Dataset Img

row
1 timestamp type    side    strength    amor    health
2 23958722  robot_1 left    100         20      100
3                   right   200         25      100
4           robot_2 left    100         25      90
5                   right   80          10      19
6           robot_3 right   40          20      200
7           robot_4 left    100         100     20
8 1424121   robot_1 left    90          19      100
9           robot_2 left    90          25      10

我的问题:

  1. 是否可以将这些数据传输到 pandas DataFrame 中?
  2. 我是否还必须为第 3 行到第 7 行存储时间戳 23958722(第 2 行)?
  3. 我是否必须在时间戳 1424121 中为机器人_1 和机器人_2 提供右侧?
  4. 是否可以避免在第 3 行再次提供 robots_1(第 2 行)?

我也有点不知道如何在这里设置索引。例如,一个查询可以是:获取右侧所有 robot_1 的健康值。应该只返回第 3 行。

非常感谢任何帮助!

标签: pythonpandas

解决方案


1- 使用 DataFrame.shift() 方法移动索引


import pandas as pd
df = pd.DataFrame(data={'t': [0, 1, 2, 3], 'Mid Elec': [0., 43102.5, 41692.0, 40592.8], 'South Elec': [0., 43102.5, 41692.0, 40592.8], 'North Elec': [0., 43102.5, 41692.0, 40592.8]})
df.set_index('t', inplace=True)
df = df.shift(-1)

推荐阅读