单列迭代的变化

Arne

我知道有无数种方法来遍历数据帧中的数据。我正在从探测器,功率,频率,时间获取数据。时间和功率列在每一行中都有值。频率随时间变化,但是对于每个频率“段”,频率和占空比仅在段开头的列中列出。下面看起来像。

time power frequency duty cycle
1.4  1.2   500.0     45.0
2.1  49.9  NaN       NaN
3.4  245.0 NaN       NaN
4.5  323.0 NaN       NaN
5.6  320.0 NaN       NaN
6.6  309.0 1000      45
7.6  306.0 NaN       NaN
8.7  305.0 NaN       NaN
9.7  304.0 NaN       NaN
10.8 300.0 NaN       NaN

使用:

InitFreqs = df['frequency']
InitDuty = df['dutycycle']
for i in np.arange(1, len(InitFreqs)):
    if np.isnan(InitFreqs[i]):
     InitFreqs[i] = InitFreqs[i - 1]
     InitDuty[i] = InitDuty[i - 1]

我得到想要的结果,看起来像这样:

time power frequency duty cycle
1.4  1.2   500.0     45.0
2.1  49.9  500.0     45.0
3.4  245.0 500.0     45.0
4.5  323.0 500.0     45.0
5.6  320.0 500.0     45.0
6.6  309.0 1000      45.0
7.6  306.0 1000      45.0
8.7  305.0 1000      45.0
9.7  304.0 1000      45.0
10.8 300.0 1000      45.0

本示例中的45可能会也可能不会更改,并且后续值需要反映这一点。尽管这可以完成工作,但它却非常缓慢且效率低下。我发现了一些示例,该示例说明如何用其他内容或所有NaN替换列中的所有值,但又不完全是我要查找的内容。我应该能够对整个列与for i语句执行此操作

鲍勃·巴克斯利

您要fillna

data = '''time power frequency duty_cycle
1.4  1.2   500.0     45.0 
2.1  49.9  NaN       NaN 
3.4  245.0 NaN       NaN 
4.5  323.0 NaN       NaN 
5.6  320.0 NaN       NaN 
6.6  309.0 1000      450 
7.6  306.0 NaN      NaN 
8.7  305.0 NaN      NaN 
9.7  304.0 NaN      NaN 
10.8 300.0 NaN      NaN'''

dd = [d.split() for d in data.split('\n')]
df = pd.DataFrame(dd[1:],columns=dd[0])
df.replace('NaN',np.nan,inplace=True)


df.fillna(method='ffill',axis=0)

time    power   frequency   duty_cycle
0   1.4     1.2     500.0   45.0
1   2.1     49.9    500.0   45.0
2   3.4     245.0   500.0   45.0
3   4.5     323.0   500.0   45.0
4   5.6     320.0   500.0   45.0
5   6.6     309.0   1000    450
6   7.6     306.0   1000    450
7   8.7     305.0   1000    450
8   9.7     304.0   1000    450
9   10.8    300.0   1000    450

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

迭代平滑位置变化

来自分类Dev

迭代变化的SortedDictionary

来自分类Dev

迭代平滑位置变化

来自分类Dev

单列表迭代与多列表理解

来自分类Dev

简单列表迭代添加不起作用

来自分类Dev

Pandas Dataframe迭代并根据条件选择行-需求变化

来自分类Dev

C ++中迭代器的指针如何在循环中变化?

来自分类Dev

转换此迭代器如何阻止功能变化?

来自分类Dev

根据输入参数迭代次数变化XSLT变换

来自分类Dev

为每次迭代添加颜色的随机变化

来自分类Dev

如何(不)使用简单的迭代变化重复代码行?

来自分类Dev

在 python 中使用迭代器循环,它不断变化

来自分类Dev

为什么的instanceof和迭代单列表比一些专门列出了更快?

来自分类Dev

如何在功能上编写具有依赖条件的动态变化集合的迭代算法?

来自分类Dev

如何在功能上编写具有依赖条件的动态变化集合的迭代算法?

来自分类Dev

迭代列表(长度 n)以包含集合 X 的每个可能的变化,其中 n 大于 len(unique(X))

来自分类Dev

如何使用增量变化的辅助变量并行迭代两个列表?

来自分类Dev

单列完成?

来自分类Dev

提取单列

来自分类Dev

Excel Solver:有没有一种方法可以迭代2个变化的变量?

来自分类Dev

串成单列

来自分类Dev

单列矩阵索引

来自分类Dev

LINQ Groupby查询单列

来自分类Dev

从位图获取单列像素?

来自分类Dev

Android单列Gridview

来自分类Dev

单列之间的熊猫日

来自分类Dev

单列codeigniter总和查询

来自分类Dev

单列复杂选择

来自分类Dev

QTableView禁用单列选择