我有这样一个数据框:
TransactionId Value
Timestamp
2018-01-07 22:00:00.000 633025 674.87
2018-01-07 22:15:00.000 633025 676.11
2018-01-07 22:30:00.000 633025 677.06
我想根据其他两列的条件创建第三列,其中包含3个可能的类。我试着在下面写一个函数,但它不起作用-我调用时没有得到返回测向头()调用函数后。你知道吗
b = df.shape[0]
def charger_state(df):
a = 1
while a <= b:
if df.Value[a]-df.Value[(a-1)] > 0.1 :
df['Charger State']= "Charging"
elif df.Value[a]-df.Value[(a-1)] < 0.1 \
and df['TransactionId'] > 0:
df['Charger State']= "Not Charging"
else:
df['Charger State']= "Vacant"
a = a+1
围绕这个主题的其他答案似乎没有涵盖新专栏的3个类,但我是一个新手,所以可能不会得到它。你知道吗
首先,设置您的条件:
现在使用
np.select
:您可能需要调整
c1
,因为在本例中,虽然它同时具有TransactionId
和Value
,但它显示为Vacant
,因为没有上一行。你知道吗一个可能的选择是假设一个设备有
Value
和TransactionID
,它已经开始充电,我们可以使用c1
上的fillna
来完成:相关问题 更多 >
编程相关推荐