提取df中总行数前70%的值的‘label’和'temp_range'列的数据
时间: 2024-03-05 10:52:59 浏览: 55
可以使用`iloc`方法来提取DataFrame对象中前70%行的数据中的`label`和`temp_range`这两列数据:
```
n = int(len(df) * 0.7)
data_label_temp = df.iloc[:n, df.columns.get_indexer(['label', 'temp_range'])]
```
其中,`len(df)`表示DataFrame对象`df`的总行数,`int(len(df) * 0.7)`表示总行数前70%的行数,即提取前70%的数据。`df.columns.get_indexer(['label', 'temp_range'])`表示获取`label`和`temp_range`这两列的索引位置,然后`df.iloc[:n, df.columns.get_indexer(['label', 'temp_range'])]`表示选取前n行的`label`和`temp_range`这两列数据,最后赋值给变量`data_label_temp`。
需要注意的是,提取数据时需要根据具体情况来确定提取的行数和列数,如果DataFrame对象中的数据并没有按照某个特定的顺序排列,则需要先对数据进行打乱或者按照某个特定的顺序排序,然后再进行提取。
相关问题
提取df中总行数后30%的值的‘label’和'temp_range'列的数据
可以使用`iloc`方法来提取DataFrame对象中后30%行的数据中的`label`和`temp_range`这两列数据:
```
n = int(len(df) * 0.3)
data_label_temp = df.iloc[-n:, df.columns.get_indexer(['label', 'temp_range'])]
```
其中,`len(df)`表示DataFrame对象`df`的总行数,`int(len(df) * 0.3)`表示总行数后30%的行数,即提取后30%的数据。`df.columns.get_indexer(['label', 'temp_range'])`表示获取`label`和`temp_range`这两列的索引位置,然后`df.iloc[-n:, df.columns.get_indexer(['label', 'temp_range'])]`表示选取后n行的`label`和`temp_range`这两列数据,最后赋值给变量`data_label_temp`。
需要注意的是,提取数据时需要根据具体情况来确定提取的行数和列数,如果DataFrame对象中的数据并没有按照某个特定的顺序排列,则需要先对数据进行打乱或者按照某个特定的顺序排序,然后再进行提取。
df = filtered_data[:, ['temp_range', 'ou39Ta','label']]
这是一个使用 NumPy 数组进行数据筛选和切片的代码,其中 filtered_data 是一个二维数组,第一维是样本数,第二维包含多个特征。'temp_range', 'ou39Ta', 'label' 是需要筛选的特征。通过使用[:, ['temp_range', 'ou39Ta', 'label']],我们可以得到一个新的二维数组,其中只包含筛选的三个特征。
阅读全文