Python 将不同大小的数据集拆分为单独的数据帧

Python 将不同大小的数据集拆分为单独的数据帧,python,pandas,Python,Pandas,我对蟒蛇和熊猫是新手。 我有一个从一些测量设备导出的.csv文件,它在一个.csv文件中为我提供了一天中进行的所有测量。 我已经成功地生成了一个相当整洁的数据框架,但我无法计算。如何区分测量值 数据帧的结构如下所示: +-------------------------+-------------------+--------------------+-----------+------+-------------+------+--------------+ | SetupTitle

我对蟒蛇和熊猫是新手。 我有一个从一些测量设备导出的.csv文件,它在一个.csv文件中为我提供了一天中进行的所有测量。 我已经成功地生成了一个相当整洁的数据框架,但我无法计算。如何区分测量值

数据帧的结构如下所示:

+-------------------------+-------------------+--------------------+-----------+------+-------------+------+--------------+
| SetupTitle              | measurement_type  | nan                | nan       | nan  | nan         | nan  | nan      |
| MetaData                | TestRecord        | measurement number | nan       | nan  | nan         | nan  | nan      |
| DataName                | voltage 1         | voltage 2          | current 1 | ...  |         |      | data name 8  |
| DataValues              | data 1            | ...                |           |      |             |      | data 8   |
| ...                     |                   |                    |           |      |             |      |          |
| hundreds of data points |                   |                    |           |      |             |      |          |
| ...                     |                   |                    |           |      |             |      |          |
| SetupTitle              | measurement type  | nan                | nan       | nan  | nan         | nan  | nan      |
| etc...                  |                   |                    |           |      |             |      |          |
+-------------------------+-------------------+--------------------+-----------+------+-------------+------+--------------+
我想通过使用“SetupTitle”值作为起点,将每个度量拆分为单独的数据帧,但我不确定如何迭代该列或如何从每个度量中提取其余的列


我认为,一旦它们被拆分,我将能够删除设置行和元数据行,并使用它们命名dataframe,这将为我提供一个漂亮的数据集。

您可以使用
cumsum
计算特定值的出现次数,并使用
groupby
将它们分开:

s = df[name_of_column].eq('SetupTitle').cumsum()
然后,每当列中出现
SetupTitle
时,
s
的值就会改变。您可以通过以下方式访问这些块:

# say we want to store them in a dict:
blocks = {}

for num_block, block in df.groupby(s):
    # do whatever you want with the group
    blocks[num_block] = block

您可以使用
cumsum
统计特定值的出现次数,并使用
groupby
将它们分开:

s = df[name_of_column].eq('SetupTitle').cumsum()
然后,每当列中出现
SetupTitle
时,
s
的值就会改变。您可以通过以下方式访问这些块:

# say we want to store them in a dict:
blocks = {}

for num_block, block in df.groupby(s):
    # do whatever you want with the group
    blocks[num_block] = block

欢迎来到StackOverflow!如果您遵守此网站规则,您将在此处找到帮助。作为一个新用户,你应该阅读,当涉及到熊猫时。在这里,我希望从原始csv文件中获取一个样本,或者从数据帧中获取一个可复制/粘贴的样本,或者两者都能够复制最小值。没有这些,我就无法回答。欢迎来到StackOverflow!如果您遵守此网站规则,您将在此处找到帮助。作为一个新用户,你应该阅读,当涉及到熊猫时。在这里,我希望从原始csv文件中获取一个样本,或者从数据帧中获取一个可复制/粘贴的样本,或者两者都能够复制最小值。没有这些,我就无法回答。