pandas 面试题挑战一
1 查看pandas的版本
import numpy as np import pandas as pd print(pd.__version__)
0.24.1
2 如何通过list,numpy array, dict创建series
现有list, numpy array, dict如下:
import numpy as np import pandas as pd mylist = list('abc') myarr = np.arange(3) mydict = dict(zip(mylist, myarr)) print("list: {}\nmyarr: {}\nmydict: {}\n".format(mylist, myarr, mydict))
输出如下:
list: ['a', 'b', 'c'] array: [0 1 2] dict: {'a': 0, 'b': 1, 'c': 2}
3 把一个Series转换为DataFrame
现有Series如下:
import numpy as np import pandas as pd mylist = list('abc') myarr = np.arange(3) mydict = dict(zip(mylist, myarr)) ser3 = pd.Series(mydict) print(ser3)
输出
a 0 b 1 c 2 dtype: int64
请把Series转换为DataFrame
df = ser3.to_frame()
df
输出如下:
如果想把Series中的index也一起进行转换,可以使用如下操作
df = ser3.to_frame().reset_index()
df
输出如下:
合并两个Series组成一个DataFrame
已有两个Series, ser1与ser2
import numpy as np ser1 = pd.Series(list('abcedfghijklmnopqrstuvwxyz')) ser2 = pd.Series(np.arange(26))
请把它们合并成一个DataFrame
解决方法如下:
df = pd.concat([ser1, ser2], axis=1) #df = pd.DataFrame({'col1': ser1, 'col2': ser2}) #这也是一种可行的办法 df.head()
结果如下
5 给Series定义一个名字
已有Series: ser,我们想给它定义一个名字
ser = pd.Series(list('abcedfghijklmnopqrstuvwxyz'))
解决方式如下:
ser.name = 'alpha' ser.head()
输入如下: