我有以下代码导入CSV文件.有3列,我想将前两个设置为变量.当我将第二列设置为变量"效率"时,索引列也会被添加.我怎样才能摆脱索引列?
df = pd.DataFrame.from_csv('Efficiency_Data.csv', header=0, parse_dates=False)
energy = df.index
efficiency = df.Efficiency
print efficiency
Run Code Online (Sandbox Code Playgroud)
我试过用
del df['index']
Run Code Online (Sandbox Code Playgroud)
在我设定之后
energy = df.index
Run Code Online (Sandbox Code Playgroud)
我在另一篇文章中找到但导致"KeyError:'index'"
我试图创建一个散点图.我有一个0到17的数字列表以及一个包含18个值的数组.我可以将数据绘制为线图,但当我尝试绘制为散点图时,我收到一条错误消息,我不明白:TypeError: ufunc 'sqrt' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
此错误消息的含义是什么?如何将数据绘制为散点图?
import numpy as np
import matplotlib.pyplot as plt
y = [7316.0, 7453.25, 7518.25, 7711.5, 7448.0, 7210.25, 7416.75, 6960.75,
7397.75, 6397.5, 5522.75, 5139.0, 5034.75, 4264.75, 5106.0, 3489.5,
4712.0, 4770.0]
x = np.arange(0,18,1)
plt.rcParams['legend.loc'] = 'best'
plt.figure(1)
plt.xlim(0, 20)
plt.ylim(0, 10000)
plt.scatter(x, y, 'r')
plt.show()
Run Code Online (Sandbox Code Playgroud) 我有一个 matplotlib 图,其中 x 轴标签中有我使用 LaTeX 创建的数学类型。问题是字体是斜体的,我需要它与前面的文本(非斜体)的字体相匹配。代码如下:
par2.set_xlabel("Flux ($neutrons/cm^2s)" , fontsize=26 , labelpad = 20)
Run Code Online (Sandbox Code Playgroud)
我发现了另一个相关的(链接)问题,他们建议添加 \rm 并从中尝试以下操作:
plt.xlabel(r'Primary T$_{\rm eff}$')
Run Code Online (Sandbox Code Playgroud)
这样我的代码将如下所示:
par2.set_xlabel("Flux ($\rmneutrons/cm^2s)" , fontsize=26 , labelpad = 20)
Run Code Online (Sandbox Code Playgroud)
但所做的只是在中子前面添加一个“m”
我怎样才能使字体非斜体,以便它与其他所有内容相匹配。
我有一个函数,用于将一些数字转换为需要迭代几个数组的不同形式。我使用了两个嵌套的 for 循环,但结果不是我所期望的。我希望该函数总共返回 5 个变量,但它返回每个数组中变量的数量彼此相乘。因此,在以下情况下,它返回一个包含 25 个变量的数组。
co_60_activities = [2 , 2 , 3 , 3 , 3]
co_60_masses = [2 , 2 , 3 , 3 , 3]
def activity(activities, masses, array):
for x in range(len(activities)):
for y in range(len(masses)):
array.append(activities[x] * masses[y] * 37000.0)
a_counts = []
activity(co_60_activities, co_60_masses, a_counts)
Run Code Online (Sandbox Code Playgroud)
我在类似的帖子中发现迭代多个列表的传统方法是使用 zip 函数。所以我将我的功能更改为以下内容:
def activity(activities, masses, array):
for x , y in zip(activities , masses):
array.append(activities[x] * masses[y] * 37000.0)
Run Code Online (Sandbox Code Playgroud)
这会产生“类型错误:列表索引必须是整数,而不是浮点数”我认为我需要以某种方式转换数据类型,但我不确定如何转换。