[英]Interpolating Dataframe's column with non-null values with a specific period
我有一個這樣的數據框,
我希望插入名為“地平線方位角”的列,其值為 1,例如 (0,1,2,3,....) 並相應地線性插入名為“地平線高度”的列。
我不太確定,如何做到這一點。 我主要看到的數據幀插值是關於 NaN 值填充。
謝謝,德巴揚
將Horizon Azimuth
列設為索引,然后使用pd.DataFrame.reindex添加所需的索引。 這將導致Horizon Height
列在新創建的行中具有 NaN 值。 然后使用pandas.DataFrame.interpolate用線性插值替換 NaN。
import pandas as pd
df = pd.DataFrame({'Horizon Azimuth': [2,5,7,8], 'Horizon Height': [0,4,6,11]})
df = df.set_index('Horizon Azimuth')
new_index = range(2,9) # [2, 3, 4, 5, 6, 7, 8]
df = df.reindex(new_index)
df = df.interpolate(method='linear')
df.reset_index(inplace=True)
print(df)
輸出:
Horizon Azimuth Horizon Height
0 2 0.000000
1 3 1.333333
2 4 2.666667
3 5 4.000000
4 6 5.000000
5 7 6.000000
6 8 11.000000
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.