簡體   English   中英

基於 dataframe 中的另一列創建新列序列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM