如何在Python中分割列表

2024-06-06 16:07:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用python清理一些数据以进行日志回归,我的列表一直显示为

loansData['FICO.Score'][0:5]
Out[23]: 
81174    735-739
99592    715-719
80059    690-694
15825    695-699
33182    695-699

我想能够选择较低的fico范围的数字我如何删除第一组数字,也删除了较高的范围?你知道吗


Tags: 数据列表数字outscoreficoloansdata
3条回答

看起来你的Q主题与你实际询问的内容并不相关,你对那一个列表的切片处理得很好,现在你拥有的是字符串(每个字符串都是上述列表中的一个项目)。你知道吗

无论如何,假设第一个是81174 735-739(中间正好有四个空格,前面没有空格,没有制表符,&;c),那么735就是[9:12]处的字符串切片。比如说

[s[9:12] for s in loansData['FICO.Score'][0:5]]

应该显示您想要的内容(如果上面关于提取字符串格式的假设不正确,可能很容易需要调整1左右,但是,这是一般的想法)。你知道吗

这个答案假设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

调用值从序列中返回和数组(除去索引)

这是一个将数据子集为仅包含FICO观察值w/‘695-699’,‘690-694’分数的示例。你知道吗

loansData['FICO.Score'][loansData['FICO.Score'].isin(['695-699', ' 690-694'])]

相关问题 更多 >