从表中将唯一值行提取到新数据框中

时间:2019-06-12 01:19:55

标签: python pandas

我有一个表格(如下所示),其中包含不同的列,例如ID,目标,日期。在我的目标列中,我有一些带有'> 1','<= 3'的唯一值。我想将这些唯一值行提取到新的数据框中。

我个人尝试通过查找每个唯一值来手动执行此操作。但是,我很难将其放入新的数据框中。此外,我的方法并不可靠,因为我的原始表实际上超过200行。

# importing pandas as pd 
import pandas as pd 

# Create sample dataframe
 raw_data = {'ID': ['A1', 'B1', 'C1', 'D1'], 
'Domain': ['Finance', 'IT', 'IT', 'Finance'], 
'Target': [1, 2, '<=3', '>1'], 
"1/01":[0.9, 1.1, 2.1, 1],
"1/02":[0.4, 0.3, 0.5, 0.9], 
"1/03":[1, 1, 0.5, 1.1], 
"1/04":[0.7, 0.7, 0.1, 1],
"1/05":[0.7, 0.7, 0.1, 1], 
"1/06":[0.9, 1.1, 2.1, 1]}


 df = pd.DataFrame(raw_data, columns = ['ID', 'Domain', 'Target', '1/01', 
'1/02','1/03', '1/04','1/05', '1/06'])

在输出中,我将有两个数据框,其中第一个数据框将仅包含不是唯一类型的行,而其他数据框将具有唯一值。

1 个答案:

答案 0 :(得分:1)

使用to_numeric

yourdf=df[pd.to_numeric(df.Target,errors='coerce').isna()].copy()
Out[648]: 
   ID   Domain Target  1/01  1/02  1/03  1/04  1/05  1/06
2  C1       IT    <=3   2.1   0.5   0.5   0.1   0.1   2.1
3  D1  Finance     >1   1.0   0.9   1.1   1.0   1.0   1.0