pandas.apply 改变数据类型
pandas.apply changing the dtypes
这是示例 DataFrame,它有两列。第一个是字符,第二个是日期时间。
df = DataFrame([['960958','2013-01-24 00:00:00'], ['960918','2013-01-24 00:00:00']],columns=['col1','col2'])
df.col2 = pd.to_datetime(df.col2,format='%Y-%m-%d %H:%M:%S')
现在我正在尝试打印数据,第一行打印正确,而发送行打印不正确,因为 col1 正在转换为日期并打印。
def printdata(line):
print line
df.apply(printdata,axis=1)
请帮忙解决这个问题,我的编码出了什么问题以及如何更正它。
下面是输出
#Output
col1 960958
col2 2013-01-24 00:00:00
Name: 0, dtype: object
col1 1996-09-18
col2 2013-01-24
Name: 1, dtype: datetime64[ns]
Out[290]:
0 None
1 None
dtype: object
如果您观察到输出第 3 行和第 6 行的 dtype 不同,并且第 1 行打印正确,而第 4 行打印的日期不正确。它应该与第 1 行一样打印。
自 0.16.2
IIRC 这与 here 相同,已在 0.16.0
中修复
In [5]: df = DataFrame([['960958','2013-01-24 00:00:00'], ['960918','2013-01-24 00:00:00']],columns=['col1','col2'])
In [6]: df.col2 = pd.to_datetime(df.col2,format='%Y-%m-%d %H:%M:%S')
In [7]: In [6]: def printdata(line):
...: print line
...:
In [8]: In [7]: df.apply(printdata,axis=1)
col1 960958
col2 2013-01-24 00:00:00
Name: 0, dtype: object
col1 960918
col2 2013-01-24 00:00:00
Name: 1, dtype: object
Out[8]:
0 None
1 None
dtype: object
这是示例 DataFrame,它有两列。第一个是字符,第二个是日期时间。
df = DataFrame([['960958','2013-01-24 00:00:00'], ['960918','2013-01-24 00:00:00']],columns=['col1','col2'])
df.col2 = pd.to_datetime(df.col2,format='%Y-%m-%d %H:%M:%S')
现在我正在尝试打印数据,第一行打印正确,而发送行打印不正确,因为 col1 正在转换为日期并打印。
def printdata(line):
print line
df.apply(printdata,axis=1)
请帮忙解决这个问题,我的编码出了什么问题以及如何更正它。
下面是输出
#Output
col1 960958
col2 2013-01-24 00:00:00
Name: 0, dtype: object
col1 1996-09-18
col2 2013-01-24
Name: 1, dtype: datetime64[ns]
Out[290]:
0 None
1 None
dtype: object
如果您观察到输出第 3 行和第 6 行的 dtype 不同,并且第 1 行打印正确,而第 4 行打印的日期不正确。它应该与第 1 行一样打印。
自 0.16.2
IIRC 这与 here 相同,已在 0.16.0
中修复In [5]: df = DataFrame([['960958','2013-01-24 00:00:00'], ['960918','2013-01-24 00:00:00']],columns=['col1','col2'])
In [6]: df.col2 = pd.to_datetime(df.col2,format='%Y-%m-%d %H:%M:%S')
In [7]: In [6]: def printdata(line):
...: print line
...:
In [8]: In [7]: df.apply(printdata,axis=1)
col1 960958
col2 2013-01-24 00:00:00
Name: 0, dtype: object
col1 960918
col2 2013-01-24 00:00:00
Name: 1, dtype: object
Out[8]:
0 None
1 None
dtype: object