Python dataframe列是否需要具有与datetime索引相同数量的元素?
我知道熊猫数据帧可以有NaN值。我的意思是,如果我正在从各种大小的列表创建一个数据帧。没有最长列那么多行的列是否会自动填充NAN?如果我使用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'
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了,所以这与此无关,谢谢您的解释。