我有一个数据框:
NPI. hcps_code
1003000126 92300
1003000126 G0101
1003000126. H0002
它还具有27个其他功能,大约有900万行,在“ hcps_code”列中,存在混合数据类型,其中一些是整数,有些是字符串,或者它们是组合的。
我需要根据匹配的数据过滤数据框:
A)范围为92920至93799
B)匹配代码“ H0002”或“ G0101”
到目前为止,我已经尝试过:
Surg_mammo_DA = super_clean_df.query('hcpcs_code == G0101')
但收到错误:
UndefinedVariableError: name 'G0101' is not defined
接下来我尝试:
Surg_mammo_DA = super_clean_df.filter(like='H0002', axis=0)
这将返回一个空的数据框,因为该列的dtype是对象,它无法识别它。
最后我尝试:
Surg_mammo_DA = super_clean_df.loc[(super_clean_df['hcpcs_code'] == 'H0002') &
(super_clean_df['hcpcs_code'] == 'G0101')]
由于对象冲突,这还会返回一个空的数据框。
所以我尝试更改列的dtype:
super_clean_df.hcpcs_code = super_clean_df.hcpcs_code.astype(str)
但是它保持不变,很可能是由于该功能中存在将int和string / int组合在一起的值的事实:
hcpcs_code object
有人知道如何根据一列的多个条件过滤数据集,并解决该列中的不同数据类型吗?
答案 0 :(得分:1)
写两个条件来处理数据类型和过滤器
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
namespace IAL_Marketing_Server.Interfaces {
public interface IFormFile
{
string ContentType { get; }
string ContentDisposition { get; }
IHeaderDictionary Headers { get; }
long Length { get; }
string Name { get; }
string FileName { get; }
Stream OpenReadStream();
void CopyTo(Stream target);
}
}