我有一个名为Reservation的列,有些行是空的,有些行有几个值。 我想把数字前的字母提取出来
print(df['Reservation'][:24])
0 NaN
1 NaN
2 NaN
3 NaN
...
24 B57 B59 B63 B66
我试过了。在
^{pr2}$但是我在结果中得到了像Nan这样的空值。在
print(df['Room'][:3])
0 n
1 n
2 n
3 n
结果应该是
print(df['Room'][:1])
1 B
然后我有下表,有些天的预约是空的,所以我必须用相同利润和相同组织的中位数来填写这些embty raws。 就像前两个RAW一样,他们是来自同一个组织的医生,所以应该在nan值中填入主题值。在
Organization Days_of_Reservations Profission
or3 4 Doctor
0r3 Nan Doctor
or2 2 Teacher
or1 3 Teacher
or5 Nan Dentist
我想我得到了这个错误。在
med = df.groupby('Days_of_Reservations')['profission']['organization'].transform('median')
df['Days_of_Reservations'].fillna(med)
我得到这个错误。在
Exception: Column(s) ['profission'] already selected
假设每个非
NaN
条目只需要第一个字符:参见:^{} documentation
在您的第一个数据帧中,Reservation列应该已经是一个对象,因此在删除nan之后,您应该能够像这样获得第一个非nan字符:
你的第二个问题。您正在反向使用groupby。分组列放在groupby方法中,聚合列放在外部,如下所示。在
^{pr2}$然后可以使用以下内容填充缺少的值
编辑:根据您的评论,请使用以下代码进行测试
输出
第二个问题
测试此代码
输出
相关问题 更多 >
编程相关推荐