Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用genfromtxt从csv文件导入数学函数_Python_Python 3.x - Fatal编程技术网

Python 使用genfromtxt从csv文件导入数学函数

Python 使用genfromtxt从csv文件导入数学函数,python,python-3.x,Python,Python 3.x,我有一个.csv文件中的数组,其中第二列填充了不同的函数来计算剪切截面 当我尝试导入.csv文件时,该列中包含函数(例如188*x**2)的每一行在python中都以nan的形式返回 import numpy as np filename = 'filename_for_functions.csv' data = np.genfromtxt(filename,delimiter = ',', skip_header = 1) 它以数组的形式返回,在某些部分包含nan值 是否有其他方法可以导入

我有一个.csv文件中的数组,其中第二列填充了不同的函数来计算剪切截面

当我尝试导入.csv文件时,该列中包含函数(例如188*x**2)的每一行在python中都以nan的形式返回

import numpy as np 
filename = 'filename_for_functions.csv'
data = np.genfromtxt(filename,delimiter = ',', skip_header = 1)
它以数组的形式返回,在某些部分包含nan值

是否有其他方法可以导入csv文件并从中使用任何函数 "数据":

array([[   0.    ,    0.    ,    0.    ],
       [   5.9   ,       nan,       nan],
       [   6.9   ,       nan,       nan],
       [  10.8   , -145.02  ,       nan],
       [  23.5   , -130.52  ,       nan],
       [  23.5   ,       nan,       nan],
       [  35.25  ,  130.53  ,       nan],
       [  46.75  ,  145.03  ,       nan],
       [  58.5   ,       nan,       nan],
       [  71.2   ,       nan,       nan],
       [  75.1   ,    0.    ,   -0.3699]])
每个“nan”都是.csv文件中的一个函数,我想用它来计算代码中的其他内容

该代码将从excel文件中提取一个数学函数,并使用.csv文件中的数学公式计算该位置的剪力。我知道在代码中硬编码数组中的公式会更容易,但我希望它更灵活

没有在谷歌上找到任何东西

编辑:


我使用了dtype建议来解决这个问题。但它带来了一个奇怪的问题,对我毫无帮助。我所做的是将每个值都转换为字符串,然后在调用时使用eval()将它们转换为python可读的行。对于数字,我使用float()(我猜也可以使用int()。请注意您的值是什么,因为您可能需要它们作为字符串保留

data = np.genfromtxt(filename, delimiter = ',', skip_header = 1, dtype= str)

差点忘了说这已经解决了,这是我的解决方案。

Numpy阵列支持一种数据类型,例如int64。您可以使用支持每列不同数据类型的Pandas dataframe导入csv文件:

将熊猫作为pd导入
filename='filename\u for_functions.csv'
data=pd.read\u csv(文件名)

我认为数据类型有问题

import numpy as np
filename = 'filename_for_functions.csv'
data = np.genfromtxt(filename, delimiter = ',', skip_header = 1, dtype=None)
如果数据类型为
None
,则列将分别由每列的内容确定


您可以在此处阅读有关数据类型的内容

请将该结果数组包含在文章本身中,而不是作为图像。您能否至少包含数据文件的一部分,以及您尝试执行的操作的说明?请参阅:。显示用于解决此问题的数据类型建议的示例文件。但它带来了一个奇怪的问题,对我毫无帮助。我所做的是将每个值都转换为字符串,然后在调用时使用eval()将它们转换为python可读的行。对于数字,我使用float()(我猜也可以使用int()。请注意您的值是什么,因为您可能需要它们作为字符串保留。data=np.genfromtxt(filename,delimiter=',,skip_header=1,dtype=str)几乎忘了说这个问题已经解决了,这是我的解决方案。我很高兴能帮助你。如果有一个传入CSV文件的示例和一个预期输出的示例,那么我可以为您的任务提供更合适的解决方案。