我想从dataframe中的行创建一个值列表,并删除前2个元素

2024-09-28 22:32:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着画出时间和压力的对比图

在循环中,我将两个名称匹配在一起,并尝试从与名称匹配的行中创建一个列表,并删除前2个元素

我已经匹配了名称并创建了一个空列表,将相应索引处的值附加到该列表中,并尝试删除前2个元素

#Here is my vr dataframe
# wells,date,t-15,t0,t15,t30,t45,t60,t75,t90,t105
# RDVE0099,28/06/2019,-56.7,-56.9,-33.0,-27.1,-24.1,-20.9,-20.4,-19.6,-18.8
# RDVE0076,28/06/2019,-56.6,-57.0,-47.7,-47.6,-46.8,-41.4,-40.1,-39.2,36.5
# RDVE0088,28/06/2019,-57.1,-57.0,-49.9,-45.0,-42.3,-41.4,41.2,52.3,23.32

# I create a list to loop through

ewells = ['RDVE0089','RDVE0099']

for i in ewells:
    columnSeriesObj = vr['wells']
    xvals = [-15,0,15,30,45,60,75,90,105,120,135,150,165,180,195,210,225,240]
    for index, item in enumerate(columnSeriesObj.values):
        if item == i:
            g = []
            g.append(vr.iloc[index])
            del g[0]
            del g[1]
            fig = plt.figure(figsize=(15,5))
            ax7 = plt.plot(xvals,str(g),marker='o',color = 'black')
            plt.title('Vacuum Recovery Test Results')
            plt.legend()

#output so far:
[wells      RDVE0099
date     28/06/2019
-15           -56.7
0             -56.9
15              -33
30            -27.1
45            -24.1
60            -20.9
75            -20.4
90            -19.6
105           -18.8
120           -18.1
135           -17.4
150           -16.8
165           -16.3
180           -15.8
195           -15.4
210             -15
225           -14.7
240           -14.3
Name: 0, dtype: object]
<class 'list'>

我想在右侧列中列出一个值列表,我可以根据xvals列表进行绘制

感谢您的帮助


Tags: in名称元素列表fordateindexplt
1条回答
网友
1楼 · 发布于 2024-09-28 22:32:25

要将序列(列)转换为列表,请应用以下函数:

pd.series.tolist()

这也适用于一行:

pd.df.loc[0].tolist()

否则尝试循环(例如,我转换列表中的第一行):

v=[]
for i in range(pd.loc[0].size):
    v.append(pd.iloc[0,i])

希望这有帮助, 朱利奥

相关问题 更多 >