pandas 面试题挑战五

------------恢复内容开始------------

计算两个Series之间的均方误差

现有两个Series如下:

truth = pd.Series(range(10))
pred = pd.Series(range(10)) + np.random.random(10)

计算两个Series之间的均方误差
解决办法:

np.mean((truth-pred)**2)

输出

0.4910588102724459

把Series中字符串的打头字母转化为大写

现有Series如下:

ser = pd.Series(['how', 'to', 'kick', 'ass?'])

把打头字母转化为大写
解决办法如下:

ser.map(lambda x: x.title())

输出

0     How
1      To
2    Kick
3    Ass?
dtype: object

计算每个Series中字符串的长度

现有Series如下:

ser = pd.Series(['how', 'to', 'kick', 'ass?'])

计算每个字符串的长度
解决方法如下:

ser.map(lambda x: len(x))

输出

0    3
1    2
2    4
3    4
dtype: int64

计算Series中每个元素与前面元素的差值

现有Series如下

ser = pd.Series([1, 3, 6, 10, 15, 21, 27, 35])

计算每个元素与前面元素的差值
解决方法如下:

print(ser.diff().tolist())

输出

[nan, 2.0, 3.0, 4.0, 5.0, 6.0, 6.0, 8.0]

如何把日期的字符串转换为时间序列

现有Series如下:

ser = pd.Series(['01 Jan 2010', '02-02-2011', '20120303', '2013/04/04', '2014-05-05', '2015-06-06T12:20'])

进行转换如下:

pd.to_datetime(ser)

输出:

0   2010-01-01 00:00:00
1   2011-02-02 00:00:00
2   2012-03-03 00:00:00
3   2013-04-04 00:00:00
4   2014-05-05 00:00:00
5   2015-06-06 12:20:00
dtype: datetime64[ns]

 

posted @ 2020-12-03 14:40  Tracydzf  阅读(149)  评论(0编辑  收藏  举报