pandas 面试题挑战四

作者: 人工智能人话翻译官 | 来源:发表于2019-05-21 23:38 被阅读79次

13 如何把一个 numpy array 转换成规定形状的 dataframe

现有Series如下

np_array = np.random.randint(1, 10, 35)

要求转化为7行5列的DataFrame如下图:


image.png

解决办法:

ser = pd.Series(np_array)
df = pd.DataFrame(ser.values.reshape(7,5))
print(df)
image.png

14 在Series中找到能够被3整除的元素位置

现有Series如下:

ser = pd.Series(np.random.randint(1, 10, 7))
ser

输出

0    1
1    5
2    7
3    2
4    4
5    1
6    3
dtype: int64

解决办法如下:

np.argwhere(ser % 3==0)

输出

array([[6]]) #索引6所在的元素能够被3整除

15 从一个Series中按照指定位置摘除元素组成新的Series

现有Series如下

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

拿出[0, 4, 8, 14, 20]位置所在的元素组成新的Series
解决办法:

pos = [0, 4, 8, 14, 20]
ser.take(pos)

输入:

0     a
4     e
8     i
14    o
20    u
dtype: object

16 如何水平堆叠/垂直堆叠两个Series

现有两个Series如下:

ser1 = pd.Series(range(5))
ser2 = pd.Series(list('abcde'))

Vertical垂直 (变高)

ser1.append(ser2)

输出:

0    0
1    1
2    2
3    3
4    4
0    a
1    b
2    c
3    d
4    e
dtype: object

Horizontal水平 (变宽)

df = pd.concat([ser1, ser2], axis=1)
df
image.png

16 查找Series2中的元素,在Series1的那个位置?

现有Series如下:


ser1 = pd.Series([10, 9, 6, 5, 3, 1, 12, 8, 13])
ser2 = pd.Series([1, 3, 10, 13])

查找ser2中的元素在ser1的那个位置
解决办法:

[np.where(i == ser1)[0].tolist()[0] for i in ser2]

输出:

[5, 4, 0, 8]

解析见下图:


image.png

相关文章

  • pandas 面试题挑战四

    13 如何把一个 numpy array 转换成规定形状的 dataframe 现有Series如下 要求转化为7...

  • pandas 面试题挑战一

    1 查看pandas的版本 解决办法 结果如下 2 如何通过list,numpy array, dict创建ser...

  • pandas 面试题挑战五

    计算两个Series之间的均方误差 现有两个Series如下: 计算两个Series之间的均方误差解决办法: 输出...

  • pandas 面试题挑战六

    从Series的字符串中过滤出email地址 现有Series如下: 解决办法: 结果如下: 重点解读:这题的重点...

  • pandas 面试题挑战九

    按要求导入csv数据,每隔50行数据取一条合并成新的df 输出 重点解读:pd.read_csv中最重要的是chu...

  • pandas 面试题挑战十

    查询df中指定行与列的数据 现有数据如下: 查询最贵的价格,解决方式如下: 输出 查询最贵价格的车,相关的'Man...

  • pandas 面试题挑战二

    6 取出Series 1中独有的数据 现有两个Series, ser1和ser2 如下: 取出在ser1中出现,但...

  • pandas 面试题挑战七

    按照指定要求前向填充元素(ffill forward fill) 构建数据如下: 输出 分别使用前一行/前一列数据...

  • pandas 面试题挑战八

    求两个Series的相关性 现有两个Series如下: 求两个Series的皮尔逊系数 解决方法就是把Series...

  • pandas 面试题挑战十二

    DataFrame中的apply方法,applymap方法有什么区别 DataFrame中的apply方法 输出 ...

网友评论

    本文标题:pandas 面试题挑战四

    本文链接:https://www.haomeiwen.com/subject/uorezqtx.html