当前位置: 首页 > 知识库问答 >
问题:

蟒蛇熊猫剧情警告

费辰阳
2023-03-14

当我在spyder中使用pandas绘图数据时。它将始终显示一条警告消息:

C:\ProgramData\Anaconda3\lib\site packages\pandas\core\index。py:494:SettingWithCopyWarning:试图在数据帧切片的副本上设置值。尝试使用。loc[row\u indexer,col\u indexer]=改为value。请参阅文档中的注意事项:http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-vs-a-copy self。obj[项目]=s

我的脚本如下:

import pandas as pd

loc0 = r'D:\DC_BP00010.T0058_20190804_082758_15_14_PM2_1031.txt'
loc1 = r'D:\DC_BP00010.T0058_20190804_082758_17_16_PM1_1193.txt'

locs = [loc0,loc1]  # Update files in the list

parameters_must_be = ['Time', 'StepNo (Int)'] # Do not change this one
parameters = ["HeadBEPTrend1 (Float)"] # Key in parameters needed
parameters_all = parameters_must_be.append(parameters) 

endpoint_steps = [3] # Update endpoint steps in the list

Titles = 'BP00010' # Titles for plot

Colors = ['black','red','brown','crimson','olive','blue','yellow','darkorange','lime','purple','deeppink','dodgerblue','orange','indigo','darkslateblue','lawngreen','darkslategray','darkgreen','midnightblue','lightseagreen','gold','maroon','navy','teal']

dfs = []
sa = []
ss = []
axs = []
n = len(locs) # Number of datalog files

for i in range(0,n):
    dfs.append(pd.read_csv(locs[i], sep=('\t'), skiprows=6, usecols=parameters_all))
    ss.append(dfs[i][dfs[i]['StepNo (Int)'].isin(endpoint_steps)])
    sa.append(ss[i].loc[:,'Time']-ss[i].loc[:,'Time'].iloc[0])
    ss[i].loc[:,'Time'] = sa[i].loc[:]

ax=ss[0].plot(x='Time', y=parameters, title=Titles, color=Colors[0:len(parameters)], linewidth=1)

if n>1:
    for i in range(1,n):
        axs.append(ss[i].plot(x='Time', y=parameters, color=Colors[len(parameters)*i:len(parameters)*i+len(parameters)], linewidth=1, ax=ax))

ax.set_xlim(0,80)
ax.set_ylim(0,60)
ax.set_ylabel('Endpoint Intensity')
ax.legend(['BP00010#14','BP00010#15','BP00010#16','BP00010#17'], bbox_to_anchor=(1.31, .5), loc=5, borderaxespad=0.)

共有1个答案

昝欣可
2023-03-14
  • 您试图更改另一个数据框中的值。
  • ss是一个数据帧列表
  • ss[i]是来自dfs
  • 的特定数据帧
  • ss。追加(dfs[i][dfs[i][StepNo(Int)].isin(endpoint\u steps)])
  • sa来自ss
  • ss。追加(dfs[i][dfs[i][StepNo(Int)”.isin(endpoint\u steps)].copy())
  • sa。追加(ss[i].loc[:,'Time']-ss[i].loc[:,'Time'].iloc[0].copy())
 类似资料:
  • 我是新来的。任何帮助都将不胜感激 这是我的原始数据: 我想得到的是: 1创建一个新的列调用平均值,以计算每个提要的平均市值。 2求加权平均数。 这是我当前的代码,我得到NaN: 对于加权平均代码: 我得到了一个错误: AttributeError:“Series”对象没有属性“value”

  • 我正在运行Ubuntu 18.04。 我使用mysql连接器-python连接Python到MySQL。 我使用的是Python 3.6.7,并且已经安装了mysql连接器-python。 我已经安装了mysql连接器-python-py3_8.0.13-1ubuntu18.10_all.deb. 在运行Python脚本时,mysql。连接器模块似乎加载正确,但脚本在碰到光标时失败。next()具

  • 假设我有一些资源,我想在用python编写的aws lambda中的不同请求之间共享。我应该如何实现这一点? 是否有“启动后”挂钩,或者我应该在第一次调用时惰性地创建资源?“延迟初始化”的缺点是,它意味着一些请求会随机变慢,因为您选择了一个消费者来承担启动成本。 此外…这些资源会在lambda可执行文件被“冻结”后幸存下来吗? 本页https://docs.aws.amazon.com/lambd

  • 我需要在我的中添加一个新的目录位置,但问题是我使用的是一个全新安装的系统(Linux),其中尚未定义任何。我读过并使用过,我认为我很了解它,但我不知道当没有存在时会发生什么。 我不能附加到不存在的东西上,但我希望当前发现的所有重要库都能正常工作,因此要小心,我在Python中使用了来获取所有标准值。然后我为定义了一个-变量,包括我刚刚找到的所有节点,以及我的新目录。但是哇,很多东西都停止工作了!P

  • 给定一个列为“BoolCol”的数据帧,我们想要查找数据帧的索引,其中“BoolCol”的值 == True 我目前有一种迭代的方法来完成它,它非常有效: 但这不是熊猫的正确方法。经过一些研究,我目前正在使用以下代码: 这个给了我一个索引列表,但是它们不匹配,当我通过执行以下操作来检查它们时: 结果其实是假的!! 熊猫的正确做法是什么?

  • 我想用替换大于任意数字(本例中为100)的