Python dataframe列是否需要具有与datetime索引相同数量的元素?

Python dataframe列是否需要具有与datetime索引相同数量的元素?,python,arrays,pandas,dataframe,time-series,Python,Arrays,Pandas,Dataframe,Time Series,我知道熊猫数据帧可以有NaN值。我的意思是,如果我正在从各种大小的列表创建一个数据帧。没有最长列那么多行的列是否会自动填充NAN?如果我使用datetime索引,这会有什么影响?您可以尝试类似的方法 import pandas as pd list1 = [1,2,3] list2 = ['ed1','ed2','ed3','ed4'] list3 = ['example'] list_date_index = ['2000-01-01', '1999-12-20', '2000-11-01'

我知道熊猫数据帧可以有NaN值。我的意思是,如果我正在从各种大小的列表创建一个数据帧。没有最长列那么多行的列是否会自动填充NAN?如果我使用datetime索引,这会有什么影响?

您可以尝试类似的方法

import pandas as pd

list1 = [1,2,3]
list2 = ['ed1','ed2','ed3','ed4']
list3 = ['example']
list_date_index = ['2000-01-01', '1999-12-20', '2000-11-01', '1995-02-25', '1992-06-30']

df = pd.DataFrame.from_dict({'index':list_date_index,'list1': list1, 'list2': list2, 'list3': list3}, orient='index').T

df=df.set_index(datetime_index)
df.drop('index',axis=1,inplace=True)

print(df2.index)
df.head()
输出:

DatetimeIndex(['2000-01-01', '1999-12-20', '2000-11-01', '1995-02-25',
               '1992-06-30'],
              dtype='datetime64[ns]', freq=None)

            list1   list2    list3
2000-01-01  1        ed1    example
1999-12-20  2        ed2    None
2000-11-01  3        ed3    None
1995-02-25  None     ed4    None
1992-06-30  None    None    None

*编辑:通过日期时间序列的日期时间索引

import pandas as pd

list1 = [1,2,3]
list2 = ['ed1','ed2','ed3','ed4']
list3 = ['example']
list_date_index = ['2000-01-01', '1999-12-20', '2000-11-01', '1995-02-25', '1992-06-30']

df = pd.DataFrame.from_dict({'index':list_date_index,'list1': list1, 'list2': list2, 'list3': list3}, orient='index').T

df=df.set_index(datetime_index)
df.drop('index',axis=1,inplace=True)

print(df2.index)
df.head()
输出:

DatetimeIndex(['2000-01-01', '1999-12-20', '2000-11-01', '1995-02-25',
               '1992-06-30'],
              dtype='datetime64[ns]', freq=None)

            list1   list2    list3
2000-01-01  1        ed1    example
1999-12-20  2        ed2    None
2000-11-01  3        ed3    None
1995-02-25  None     ed4    None
1992-06-30  None    None    None

*编辑:通过日期时间序列的日期时间索引是一种简化,但
日期时间索引
只不过是一种带有一些特殊方法和属性(即
.year
)的索引,这些方法和属性与日期和时间有关。在内部,日期存储为
int64
值,因此它实际上与RangeIndex没有太大区别。为什么不试试呢?为了更好地理解这一点,我必须阅读更多的文档,使用NaN更容易,而且不用担心它。感谢您的解释,我很快就要转到SQLServer了,所以这与此无关。简单来说,
DatetimeIndex
不过是一个带有一些特殊方法和属性(即
.year
)的索引,这些方法和属性与日期和时间有关。在内部,日期存储为
int64
值,因此它实际上与RangeIndex没有太大区别。为什么不试试呢?为了更好地理解这一点,我必须阅读更多的文档,使用NaN更容易,而且不用担心它。我很快就要转到SQLServer了,所以这与此无关,谢谢您的解释。