要按照ID选择每个分组的时间开/关百分比,可以使用以下代码示例:
import pandas as pd
# 创建示例数据
data = {'ID': ['A', 'A', 'A', 'B', 'B', 'C', 'C'],
'Status': ['On', 'Off', 'On', 'Off', 'On', 'On', 'Off']}
df = pd.DataFrame(data)
# 将Status列转换为0和1的数值
df['Status'] = df['Status'].map({'On': 1, 'Off': 0})
# 计算每个ID分组的时间开/关百分比
grouped = df.groupby('ID')['Status'].mean() * 100
# 打印结果
print(grouped)
输出结果将是每个ID分组的时间开/关百分比。
这里的代码示例使用了pandas
库来处理数据。首先,创建了一个示例数据df
,其中包含了ID和Status两列。然后,将Status列中的'On'和'Off'转换为0和1的数值表示。接下来,使用groupby
函数按照ID分组,并计算每个分组的Status列的平均值,即为时间开/关百分比。最后,将结果打印出来。
注意,这里假设Status列中只包含'On'和'Off'两种值。如果有其他值,需要根据实际情况进行相应的处理。