Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 创建panda dataframe并在for循环中附加值_Python_List_Dataframe_Append - Fatal编程技术网

Python 创建panda dataframe并在for循环中附加值

Python 创建panda dataframe并在for循环中附加值,python,list,dataframe,append,Python,List,Dataframe,Append,我有一个列表,我想从中迭代并在pandas数据帧中创建元组,以模拟大小为4的滑动窗口。我想做的是: tuples = pd.DataFrame() for index, row in expertsDF.iterrows(): newlst = row['name'] counter = 0 for x in newlst: if counter < len(newlst) - 3: tuples['A'] =

我有一个列表,我想从中迭代并在pandas数据帧中创建元组,以模拟大小为4的滑动窗口。我想做的是:

tuples = pd.DataFrame()
for index, row in expertsDF.iterrows():
      newlst = row['name'] 
      counter = 0
      for x in newlst:
        if counter < len(newlst) - 3:
            tuples['A'] = x
            tuples['B'] =newlst(counter+1)
            tuples['C'] =newlst(counter+2)
            tuples['D'] =newlst(counter+3)
            counter = counter + 1
我的数据框应该是这样的:

list (var1, var2, var3....)
     A       B      C       D
1   var1   var2   var3    var4
2   var2   var3   var4    var5
3   var3   var4   var5    var6
在python中有这样做的方法吗?

很接近吗

import pandas as pd
tuples = pd.DataFrame(columns=['A', 'B', 'C', 'D'])
newlst = "abcdefg"
i = 0
for x in newlst:
    if i < len(newlst) - 3:
        t = pd.DataFrame([[x, newlst[i + 1], newlst[i + 2], newlst[i + 3]]],
                         columns=['A', 'B', 'C', 'D'])
    tuples = tuples.append(t, ignore_index=True)
    i += 1
print tuples

如何从系列对象创建数据帧

import pandas as pd

data_list = list(map(lambda x: 'var{}'.format(x),range(0,100)))
df = pd.Series(data_list[0:97]).to_frame(name='A')
df['B'] = pd.Series(data_list[1:98])
df['C'] = pd.Series(data_list[2:99])
df['D'] = pd.Series(data_list[3:100])

df.head()

# output
#       A     B     C     D
# 0  var0  var1  var2  var3
# 1  var1  var2  var3  var4
# 2  var2  var3  var4  var5
# 3  var3  var4  var5  var6
# 4  var4  var5  var6  var7

你可以发布一个输出的示例吗?if条件中的代码不正确,因此我没有输出。我只是想展示一下我在做什么。好了,@345243lkj完成了!对不起,什么是
expertsDF.iterrows()
?它来自库itertools。我使用它来迭代存储我的值的初始数据帧。
import pandas as pd

data_list = list(map(lambda x: 'var{}'.format(x),range(0,100)))
df = pd.Series(data_list[0:97]).to_frame(name='A')
df['B'] = pd.Series(data_list[1:98])
df['C'] = pd.Series(data_list[2:99])
df['D'] = pd.Series(data_list[3:100])

df.head()

# output
#       A     B     C     D
# 0  var0  var1  var2  var3
# 1  var1  var2  var3  var4
# 2  var2  var3  var4  var5
# 3  var3  var4  var5  var6
# 4  var4  var5  var6  var7