![](/img/trans.png)
[英]Dataframe, creating a new column with values based on another column's indices
[英]Creating a new column sequence based on another column within a dataframe
我有一个 dataframe Outfall
,它在['Head']
列中有一个序列。 目标是创建另一个相对于['Head']
列,称为['OHead']
,一旦匹配某个值,它就会启动一个新序列。 我没有任何问题应用 lamda function 根据条件创建新列['OHead']
,但我被捆绑然后启动与['Head']
步长相同的新序列。
To = 1.34
Head = np.linspace(0,4,49)
Outfall = pd.DataFrame(Head, columns=['Head'])
Outfall['OHead'] = Outfall['Head'].apply(lambda x: 0 if x <= To else i * 0.83 for i in range(1))
lamda 语句中的列表理解显然不起作用,但试了一下,认为这可能是最好的方法。
预期的结果是 dataframe,如下所示:
Head OHead
0 0.000000 0.000000
1 0.083333 0.000000
2 0.166667 0.000000
3 0.250000 0.000000
...n...
15 1.250000 0.000000
16 1.333333 0.000000
17 1.416667 0.083333
18 1.500000 0.166667
19 1.583333 0.250000
20 1.666667 0.333333
21 1.750000 0.416667
...n...
使用...n... 作为 dataframe 的 rest 的占位符。
国际大学联合会,
data = Outfall[Outfall < To].dropna().tail(1).reset_index(drop=True).at[0,'Head']
Outfall['Head'].apply(lambda x: 0 if x <= data else x - data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.