return 按数据帧线性插值列出
return list by dataframe linear interpolation
我有一个数据框,假设有 5 个条目。
moment
stress
strain
0
0.12
13
0.11
1
0.23
14
0.12
2
0.56
15
0.56
我想根据应变的线性插值 = 0.45
以 [moment, stress, strain] 的顺序得到一维浮点列表
我从 pandas 阅读了几个讨论 interpolate() 方法的线程。但是当你有Nan条目,你填数字的时候就用了。
如何用我的案例完成类似的任务?
谢谢
一种方法是使用 NaN 值向数据框中添加新行并对其进行排序:
df = df.append(
{"moment": np.nan, "stress": np.nan, "strain": 0.45}, ignore_index=True
)
df = df.sort_values(by="strain").set_index("strain")
df = df.interpolate(method="index")
print(df)
打印:
moment stress
strain
0.11 0.1200 13.00
0.12 0.2300 14.00
0.45 0.4775 14.75
0.56 0.5600 15.00
要取回值:
df = df.reset_index()
print(
df.loc[df.strain == 0.45, ["moment", "stress", "strain"]]
.to_numpy()
.tolist()[0]
)
打印:
[0.47750000000000004, 14.75, 0.45]
我有一个数据框,假设有 5 个条目。
moment | stress | strain | |
---|---|---|---|
0 | 0.12 | 13 | 0.11 |
1 | 0.23 | 14 | 0.12 |
2 | 0.56 | 15 | 0.56 |
我想根据应变的线性插值 = 0.45
以 [moment, stress, strain] 的顺序得到一维浮点列表我从 pandas 阅读了几个讨论 interpolate() 方法的线程。但是当你有Nan条目,你填数字的时候就用了。
如何用我的案例完成类似的任务?
谢谢
一种方法是使用 NaN 值向数据框中添加新行并对其进行排序:
df = df.append(
{"moment": np.nan, "stress": np.nan, "strain": 0.45}, ignore_index=True
)
df = df.sort_values(by="strain").set_index("strain")
df = df.interpolate(method="index")
print(df)
打印:
moment stress
strain
0.11 0.1200 13.00
0.12 0.2300 14.00
0.45 0.4775 14.75
0.56 0.5600 15.00
要取回值:
df = df.reset_index()
print(
df.loc[df.strain == 0.45, ["moment", "stress", "strain"]]
.to_numpy()
.tolist()[0]
)
打印:
[0.47750000000000004, 14.75, 0.45]