我正在尝试为python中的日志回归清理一些数据,我的列表一直显示为
loansData['FICO.Score'][0:5]
Out[23]:
81174 735-739
99592 715-719
80059 690-694
15825 695-699
33182 695-699
我希望能够选择较低的fico范围编号,如何删除第一组数字并删除较高范围?
答案 0 :(得分:1)
看起来你问的主题与你实际要求的内容密切相关 - 你对那个列表的切片做得很好,现在是你的取而代之的是字符串(每个来自所述列表的项目)。
无论如何,假设例如第一个是81174 735-739
(中间恰好有四个空格,之前没有,没有标签,& c),735
是字符串切片[9:12]。例如,
[s[9:12] for s in loansData['FICO.Score'][0:5]]
应该显示你想要的东西(如果关于提取字符串格式的上述假设不正确,可能很容易需要调整1左右,但是,这是一般的想法)。
答案 1 :(得分:0)
这是一个示例,它会将您的数据子集化为仅包含FICO观察,并且包括#6; 695-699',' 690-694'分数。
loansData['FICO.Score'][loansData['FICO.Score'].isin(['695-699', ' 690-694'])]
答案 2 :(得分:0)
这个答案假设5位数字是系列索引,并且你想要返回一个具有每个值下限的数组。
import pandas as pd
数据:
i=[81174,99592,80059,15825,33182]
d = ['735-739','715-719','690-694','695-699','695-699']
重新创建框架:
df =pd.DataFrame(d, index=i, columns=['FICO.Score'])
切片字符串并转换为int:
df['FICO.Score'].apply(lambda x: int(x[:-4])).values
从系列调用值返回和数组(删除索引)