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()

输入如下:

 

posted @ 2020-12-03 09:28  Tracydzf  阅读(633)  评论(0编辑  收藏  举报