呆鸟的Python数据分析pandas 面试题挑战

pandas 面试题挑战一

2019-05-18  本文已影响284人  人工智能人话翻译官

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}

请把他们变成Series
解决办法:

ser1 = pd.Series(mylist)
ser2 = pd.Series(myarr)
ser3 = pd.Series(mydict)

结果如下:


image.png

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

输出如下:


df

如果想把Series中的index也一起进行转换,可以使用如下操作

df = ser3.to_frame().reset_index()
df

输出如下:


image.png

合并两个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()

结果如下


df

5 给Series定义一个名字

已有Series: ser,我们想给它定义一个名字

ser = pd.Series(list('abcedfghijklmnopqrstuvwxyz'))

解决方式如下:

ser.name = 'alpha'
ser.head()

输入如下:


ser
上一篇 下一篇

猜你喜欢

热点阅读