Python 为什么';pd系列是否复制时间列?
我试图使用pd.Series来复制一个时间列,但它给了我一个完全不同的时间,为什么会这样?我如何专门使用pd.Series函数来复制熊猫中的一个时间列Python 为什么';pd系列是否复制时间列?,python,python-2.7,pandas,Python,Python 2.7,Pandas,我试图使用pd.Series来复制一个时间列,但它给了我一个完全不同的时间,为什么会这样?我如何专门使用pd.Series函数来复制熊猫中的一个时间列 import numpy as np import pandas as pd from pandas import Series, DataFrame, Panel # Get into data data = pd.read_csv('someData.csv', header=0, encoding='utf-8', low_memory=
import numpy as np
import pandas as pd
from pandas import Series, DataFrame, Panel
# Get into data
data = pd.read_csv('someData.csv', header=0, encoding='utf-8', low_memory=False)
df = DataFrame(data)
df = df.sort(['time'], ascending=True) # Sort by time
# Create a new df column using only df.time
df['time2'] = pd.Series(pd.to_datetime(date) for date in df['time'])
df['time3'] = df['time']
print df.head()
time
567 1/1/2015 0:12
566 1/1/2015 0:14
565 1/1/2015 0:28
564 1/1/2015 0:30
563 1/1/2015 0:42
time2
567 2015-01-12 21:43:00
566 2015-01-12 21:43:00
565 2015-01-12 21:43:00
564 2015-01-12 21:43:00
563 2015-01-12 21:43:00
time3
567 1/1/2015 0:12
566 1/1/2015 0:14
565 1/1/2015 0:28
564 1/1/2015 0:30
563 1/1/2015 0:42
您是否尝试过
data=pd.read\u csv('someData.csv',header=0,encoding='utf-8',low\u memory=False,parse\u dates=['time'])
?刚刚尝试过,time2仍然与time1(=time3)不同,我无法复制,使用您的5个示例文本值对我来说效果很好。您应该尝试将示例数据置于问题中,而不是仅从您拥有的CSV中读取。可能您的日期格式在所有行中都不一致?实际上,从df.head()示例开始,我没有遇到任何问题。您可以发布原始someData.csv的示例吗?您创建新的time2
列太复杂了,只需执行:df['time2']=pd.to_datetime(df['time'])
或者您这样做是因为date
的某些行实际上不是日期?同样,如果您提供一个完整的示例数据框,那么回答这类问题会更容易。否则,人们最终会猜测您的数据是什么样子(或者感到沮丧,根本不想回答!)