Python 将不同大小的数据集拆分为单独的数据帧
我对蟒蛇和熊猫是新手。 我有一个从一些测量设备导出的.csv文件,它在一个.csv文件中为我提供了一天中进行的所有测量。 我已经成功地生成了一个相当整洁的数据框架,但我无法计算。如何区分测量值 数据帧的结构如下所示:Python 将不同大小的数据集拆分为单独的数据帧,python,pandas,Python,Pandas,我对蟒蛇和熊猫是新手。 我有一个从一些测量设备导出的.csv文件,它在一个.csv文件中为我提供了一天中进行的所有测量。 我已经成功地生成了一个相当整洁的数据框架,但我无法计算。如何区分测量值 数据帧的结构如下所示: +-------------------------+-------------------+--------------------+-----------+------+-------------+------+--------------+ | SetupTitle
+-------------------------+-------------------+--------------------+-----------+------+-------------+------+--------------+
| 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文件中获取一个样本,或者从数据帧中获取一个可复制/粘贴的样本,或者两者都能够复制最小值。没有这些,我就无法回答。