如何用python实现,当第i个索引的列表元素不为nan时,将计算的值存入新列表
时间: 2023-06-10 11:02:55 浏览: 40
中?
你可以使用类似以下的代码实现:
```
new_list = []
for i in range(len(old_list)):
if not math.isnan(old_list[i]):
new_list.append(compute_value(old_list[i]))
```
其中,old_list是原始列表,compute_value是用来计算新值的函数。这段代码会遍历原始列表,如果第i个索引的元素不为NaN,则进行计算并将结果存入新列表中。
相关问题
计算python列表中某个元素每次连续出现时的第一个的索引值
可以使用Python自带的enumerate()函数遍历列表,记录每个元素的索引和值,并且找到该元素的第一个索引值和最后一个索引值,从而算出它每次连续出现时的第一个索引值。
以下是代码示例:
```python
def find_first_index(lst, item):
first_index = None
last_index = None
for index, value in enumerate(lst):
if value == item:
if first_index == None:
first_index = index
last_index = index
if first_index == None:
return None
else:
return first_index
```
使用方法:
```python
lst = [1, 2, 3, 4, 4, 4, 5, 6, 7, 4, 8, 9]
item = 4
first_index = find_first_index(lst, item)
print(first_index) # 输出:3
```
以上代码中,我们遍历了列表lst,记录每个元素的索引和值。当遍历到值等于item时,我们判断此时是否是第一个索引,如果是就记录下来,然后每次都更新最后一个索引。最后如果没找到item,返回None。如果找到了,返回第一个索引即可。
用python代码实现将数据中列名为B,行索引为0的元素修改为NAN
可以使用 pandas 库来操作数据,具体实现代码如下:
```python
import pandas as pd
import numpy as np
# 假设数据存储在名为data.csv的文件中
data = pd.read_csv('data.csv')
# 将B列,第0行的元素修改为NAN
data.at[0, 'B'] = np.nan
# 将修改后的数据保存到原文件
data.to_csv('data.csv', index=False)
```
这段代码会将 `data.csv` 文件中的 B 列第 0 行元素修改为 NAN,并将修改后的数据保存到原文件中。需要注意的是,要使用 `numpy` 库中的 `np.nan` 来表示 NAN。