Python DataFrame将两列分别与相应的内容进行比较,并检查一致性
我有一个数据集,其中有两列可疑地保存着相同的信息,并希望检查它们的一致性 具体来说,目标是查看取消Python DataFrame将两列分别与相应的内容进行比较,并检查一致性,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据集,其中有两列可疑地保存着相同的信息,并希望检查它们的一致性 具体来说,目标是查看取消的时间是否为0(1),然后保留状态必须为签出(取消),如果存在异常值,则打印异常值 df.loc[1:100,['取消','预订状态]] 显示: 我尝试了几种方法,例如 #检查异常值 (df['is_cancelled']==0和df['reservation_status']=='cancelled')。任意(1) 但是失败了。从技术上讲,它的拼写是Cancelled,但是假设您想使用Can
的时间是否为0
(1
),然后保留状态必须为签出(取消
),如果存在异常值,则打印异常值
df.loc[1:100,['取消','预订状态]]
显示:
我尝试了几种方法,例如
#检查异常值
(df['is_cancelled']==0和df['reservation_status']=='cancelled')。任意(1)
但是失败了。从技术上讲,它的拼写是Cancelled,但是假设您想使用Cancelled,您可以在括号内使用带有多个条件的.loc
,并使用&
而不是和
,将和分开
import pandas as pd
df = pd.DataFrame({'is_canceled':[0,0,1,1], 'reservation_status': ['Check-Out','Canceled','Check-Out','Canceled']})
df.loc[
((df['is_canceled']==0) & (df['reservation_status']!='Check-Out')) |
((df['is_canceled']==1) & (df['reservation_status']!='Canceled'))
]
输出
is_canceled reservation_status
1 0 Canceled
2 1 Check-Out
从技术上讲,它的拼写是Cancelled,但假设您想使用Cancelled,您可以在括号内使用带有多个条件的.loc
,并使用&
not和
,使用|
表示或将两者分开
import pandas as pd
df = pd.DataFrame({'is_canceled':[0,0,1,1], 'reservation_status': ['Check-Out','Canceled','Check-Out','Canceled']})
df.loc[
((df['is_canceled']==0) & (df['reservation_status']!='Check-Out')) |
((df['is_canceled']==1) & (df['reservation_status']!='Canceled'))
]
输出
is_canceled reservation_status
1 0 Canceled
2 1 Check-Out
是的,很奇怪。毫无理由,这个已发布的数据集在所有数据点中都使用了cancelled
,这很奇怪。毫无理由,此发布的数据集在所有数据点中都使用了取消的