我有一个表格(如下所示),其中包含不同的列,例如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'])
在输出中,我将有两个数据框,其中第一个数据框将仅包含不是唯一类型的行,而其他数据框将具有唯一值。
答案 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