Python 3.x ValueError:在使用DataFrame的python中,数组的长度必须相同

Python 3.x ValueError:在使用DataFrame的python中,数组的长度必须相同,python-3.x,pandas,dataframe,resampling,Python 3.x,Pandas,Dataframe,Resampling,我是python的新手,使用pandas包(python3.6)中的Dataframe 我按照下面的代码设置它 df = DataFrame({'list1': list1, 'list2': list2, 'list3': list3, 'list4': list4, 'list5': list5, 'list6': list6}) 它给出了一个类似于ValueError的错误:数组的长度必须相同 所以我检查了所有数组的长度,list1&list2比其他列表多1个数据。如果我想通过使用pd.

我是python的新手,使用pandas包(python3.6)中的Dataframe

我按照下面的代码设置它

df = DataFrame({'list1': list1, 'list2': list2, 'list3': list3, 'list4': list4, 'list5': list5, 'list6': list6})
它给出了一个类似于
ValueError的错误:数组的长度必须相同

所以我检查了所有数组的长度,
list1
&
list2
比其他列表多1个数据。如果我想通过使用
pd.resample
向其他4个列表(
list3
list4
list5
list6
)添加1个数据,那么我应该如何编写代码

此外,这些列表是1分钟的时间序列列表

有人有什么想法或者帮我吗

提前谢谢

编辑 所以我改变了EdChum所说的。 并在前面添加了时间列表。就像下面一样

2017-04-01 0:00 895.87  730 12.8    4   19.1    380
2017-04-01 0:01 894.4   730 12.8    4   19.1    380
2017-04-01 0:02 893.08  730 12.8    4   19.3    380
2017-04-01 0:03 890.41  730 12.8    4   19.7    380
2017-04-01 0:04 889.28  730 12.8    4   19.93   380
我输入的代码如下

df.resample('1min', how='mean', fill_method='pad')

它给了我这个错误:
TypeError:只对DatetimeIndex、TimedeltaIndex或PeriodIndex有效,但是得到了一个“RangeIndex”的实例
我只需要为每个列表构造一个
系列
,然后它们全部:

In [38]:
l1 = list('abc')
l2 = [1,2,3,4]
s1 = pd.Series(l1, name='list1')
s2 = pd.Series(l2, name='list2')
df = pd.concat([s1,s2], axis=1)
df

Out[38]: 
  list1  list2
0     a      1
1     b      2
2     c      3
3   NaN      4
由于您可以为
系列
ctor传递
名称
arg,因此它将命名df中的每一列,并将
NaN
放置在列长度不匹配的位置

resample
指的是当您有一个
DatetimeIndex
时,您希望根据某个时间段重新设置基准或调整长度,而这个时间段不是您想要的。您想要重新编制索引,我认为这是不必要的,也是混乱的:

In [40]:
l1 = list('abc')
l2 = [1,2,3,4]
s1 = pd.Series(l1)
s2 = pd.Series(l2)
df = pd.DataFrame({'list1':s1.reindex(s2.index), 'list2':s2})
df

Out[40]: 
  list1  list2
0     a      1
1     b      2
2     c      3
3   NaN      4
在这里,您需要知道最长的长度,然后使用该索引重新索引所有系列,如果您只是
concat
,它将自动调整长度并用
NaN
填充缺少的元素。根据,使用
pd.resample()执行此操作看起来相当困难
:您应该计算一个频率,该频率只向df添加一个值,而该功能似乎真的不适用于此^^^(似乎允许轻松重塑,例如:1分钟到30秒或1小时)!你最好试试EdChum所做的:P