回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我想按类型列对ID进行分组,并在分组股票上应用一个函数,该函数返回分组股票的值列不是NaN的第一行,并将其复制到单独的数据框中</p>
<p>到目前为止,我得到了以下信息:</p>
<pre><code>dummy data:
df1 = {'Date': ['04.12.1998','05.12.1998','06.12.1998','04.12.1998','05.12.1998','06.12.1998'],
'Type': [1,1,1,2,2,2],
'Value': ['NaN', 100, 120, 'NaN', 'NaN', 20]}
df2 = pd.DataFrame(df1, columns = ['Date', 'Type', 'Value'])
print (df2)
Date Type Value
0 04.12.1998 1 NaN
1 05.12.1998 1 100
2 06.12.1998 1 120
3 04.12.1998 2 NaN
4 05.12.1998 2 NaN
5 06.12.1998 2 20
import pandas as pd
selectedStockDates = {'Date': [], 'Type': [], 'Values': []}
selectedStockDates = pd.DataFrame(selectedStockDates, columns = ['Date', 'Type', 'Values'])
first_valid_index = df2[['Values']].first_valid_index()
selectedStockDates.loc[df2.index[first_valid_index]] = df2.iloc[first_valid_index]
</code></pre>
<p>上面的代码应该适用于第一个id,但我很难将其应用于数据帧中的所有id。有人知道怎么做吗</p>