获取一维数组numpython的元素

2024-09-30 10:38:13 发布

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

如何打印element_valnumpy数组的最后一个值。它是[ 2. 2. 30.]的第二个索引,即30。因此,这些值将类似于30,40,50...670,680。既然numpy数组是一维的,我怎么能做到呢

input.csv文件:

element,LNPT,SNPT,NLP,NSP,TNT,TPnL,MxPnL,MnPnL,MxU,MxD
[ 2.  2. 30.],0,0,4,4,8,-0.1,-0.0,-0.1,17127,-3
[ 2.  2. 40.],0,0,2,2,4,0.0,-0.0,-0.0,17141,-3
[ 2.  2. 50.],0,0,2,2,4,0.0,-0.0,-0.0,17139,-3
[ 2.  2. 60.],2,0,6,6,12,0.5,2.3,-1.9,17015,-3
[ 2.  2. 70.],1,0,4,4,8,0.3,0.3,-0.0,17011,-3

代码:

import numpy as np
import pandas as pd

my_data = pd.read_csv('input.csv').to_numpy()
element_vals = my_data[:,0]
print(element_vals)

输出:

['[ 2.  2. 30.]' '[ 2.  2. 40.]' '[ 2.  2. 50.]' ... '[  6.    7.5 660. ]'
 '[  6.    7.5 670. ]' '[  6.    7.5 680. ]']

Tags: 文件csvimportnumpyinputdatamyas
1条回答
网友
1楼 · 发布于 2024-09-30 10:38:13

使用^{}^{}^{}手动将df.element列转换为实numpy数组:

df = pd.read_csv('input.csv')
element_vals = df.element.str.strip('[]').str.split(expand=True).astype(float).to_numpy()

# array([[ 2.,  2., 30.],
#        [ 2.,  2., 40.],
#        [ 2.,  2., 50.],
#        [ 2.,  2., 60.],
#        [ 2.,  2., 70.]])

然后您可以按预期编制索引:

element_vals[:, 2]

# array([30., 40., 50., 60., 70.])

相关问题 更多 >

    热门问题