数据框中的输出错误:分别复制每一行的计算

史蒂文·保利

我正在寻找对以下函数的修改,以便对每一行进行自相关计算,而不仅仅是第一行。

以下功能是我使用的功能:

import pandas as pd
import numpy as np
df = pd.read_excel("directory\\file.xlsx")

def autocorr(x, t):
     y = np.corrcoef(np.array([x[0:len(x)-t], x[t:len(x)]]))
     return y

df1 = df.copy(deep=True) 

for index,row in df1.iterrows():
     df1["output1"] = autocorr(df.T[0], 1)[0, 1]
     df1["output2"]= autocorr(df.T[0], 2)[0, 1]
     df1["output3"]= autocorr(df.T[0], 3)[0, 1]
     df1["output4"]= autocorr(df.T[0], 4)[0, 1]
     df1["output5"]= autocorr(df.T[0], 5)[0, 1]
     df1["output6"]= autocorr(df.T[0], 6)[0, 1]
     df1["output7"]= autocorr(df.T[0], 7)[0, 1]
     df1["output8"]= autocorr(df.T[0], 8)[0, 1]
     df1["output9"]= autocorr(df.T[0], 9)[0, 1]
     df1["output10"]= autocorr(df.T[0], 10)[0, 1]
     df1["output11"]= autocorr(df.T[0], 11)[0, 1]
     df1["output12"]= autocorr(df.T[0], 12)[0, 1]



df1

但它不断给出以下结果(所以第一行的结果,复制到第二,第三,...行):

结果

我已经尝试了所有方法,但无法对每一行分别进行。

奥列格

您是否尝试过使用 Pandas 的内置 autocorr 函数?

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.autocorr.html

import pandas as pd
import numpy as np
df = pd.DataFrame(np.array([np.arange(1,10), np.arange(10, 1, -1)]), index=['a', 'b'])
     df
    0  1  2  3  4  5  6  7  8
a   1  2  3  4  5  6  7  8  9
b  10  9  8  7  6  5  4  3  2
df.loc['a'].autocorr(lag=1)

或者 df.T['a'].autocorr(lag=1)

在您的代码中,您似乎每次都发送同一行。

df.loc[0] == df.T[0]  # The first row of the DataFrame

您正在迭代 DataFrame 的行,但不使用迭代器

autocorr(df.T[0], 1)[0, 1]

如果您更喜欢使用您的功能,请尝试将其更改为

autocorr(row, 1)[0, 1]

相反,您可以使用:

row.autocorr(lag=t)

由于您正在遍历 DataFrame 的行,因此 index 变量将保存来自 DF 的行的索引,而 row 变量将保存整行的 Series 类型。

另一个问题是:

df1['outpu1'] = value

这样你就可以为整个列分配值。
如果该列已存在,则可以使用 loc:

df.loc[row_index, col_index] = value

如果该列不存在,您可以先计算整列并将其保存为系列,然后分配给整个列表,或者在运行循环之前添加它

df.insert(loc=0, column='output1' value='np.nan')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

计算数据框中每一行和特定列在列表中的出现次数

来自分类Dev

如何计算数据框中每一行的均值?[R]

来自分类Dev

计算熊猫数据框中每一行的百分比

来自分类Dev

对数据框中单列的每一行执行计算

来自分类Dev

计算数据框中每一行的滚动平均值

来自分类Dev

Pyspark - 为每一行计算火花数据框中的非零列

来自分类Dev

按降序排列数据框中的每一行

来自分类Dev

数据框中每一行的条形图

来自分类Dev

在数据框中拆分每一行

来自分类Dev

数据框中每一行的条形图

来自分类Dev

扩展数据框中的每一行

来自分类Dev

如何通过遍历Python数据框中的每一行将计算的值存储在新列中?

来自分类Dev

在数据框的每一行之后添加计算的行

来自分类Dev

访问每一行并检查数据框中的每一列值

来自分类Dev

分别打印每一行

来自分类Dev

Python Pandas:在数据框的每一行中计算特定值的频率吗?

来自分类Dev

Python Pandas:在数据框的每一行中计算特定值的频率吗?

来自分类Dev

R将计算应用于数据框的每一行和每一列

来自分类Dev

遍历2D数组并分别计算每一行的结果(Java)

来自分类Dev

如何既从数据框中随机选择行又删除已选择的每一行?

来自分类Dev

R将数据框中的每一列除以最后一行的值

来自分类Dev

在pyspark [non pandas]中为数据框的每一行调用一个函数

来自分类Dev

如何在Python中为数据框的每一行创建唯一的XML

来自分类Dev

在python中为Panda数据框的每一行创建一个Radar Chart

来自分类Dev

为熊猫数据框的每一行替换一列中的字符串

来自分类Dev

R将数据框中的每一列除以最后一行的值

来自分类Dev

在数据框中的每一行插入一个空行

来自分类Dev

计算R中数据帧每一行中连续出现的特定值

来自分类Dev

在python数据框中的每一行中查找最大值

Related 相关文章

  1. 1

    计算数据框中每一行和特定列在列表中的出现次数

  2. 2

    如何计算数据框中每一行的均值?[R]

  3. 3

    计算熊猫数据框中每一行的百分比

  4. 4

    对数据框中单列的每一行执行计算

  5. 5

    计算数据框中每一行的滚动平均值

  6. 6

    Pyspark - 为每一行计算火花数据框中的非零列

  7. 7

    按降序排列数据框中的每一行

  8. 8

    数据框中每一行的条形图

  9. 9

    在数据框中拆分每一行

  10. 10

    数据框中每一行的条形图

  11. 11

    扩展数据框中的每一行

  12. 12

    如何通过遍历Python数据框中的每一行将计算的值存储在新列中?

  13. 13

    在数据框的每一行之后添加计算的行

  14. 14

    访问每一行并检查数据框中的每一列值

  15. 15

    分别打印每一行

  16. 16

    Python Pandas:在数据框的每一行中计算特定值的频率吗?

  17. 17

    Python Pandas:在数据框的每一行中计算特定值的频率吗?

  18. 18

    R将计算应用于数据框的每一行和每一列

  19. 19

    遍历2D数组并分别计算每一行的结果(Java)

  20. 20

    如何既从数据框中随机选择行又删除已选择的每一行?

  21. 21

    R将数据框中的每一列除以最后一行的值

  22. 22

    在pyspark [non pandas]中为数据框的每一行调用一个函数

  23. 23

    如何在Python中为数据框的每一行创建唯一的XML

  24. 24

    在python中为Panda数据框的每一行创建一个Radar Chart

  25. 25

    为熊猫数据框的每一行替换一列中的字符串

  26. 26

    R将数据框中的每一列除以最后一行的值

  27. 27

    在数据框中的每一行插入一个空行

  28. 28

    计算R中数据帧每一行中连续出现的特定值

  29. 29

    在python数据框中的每一行中查找最大值

热门标签

归档