![](/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.