Pandas进阶 *** 作

Pandas进阶 *** 作,第1张

1.# 请将"_"处替换成能实现注释中功能的代码。

# 示例:
# #设置列表lst中位置3的值为1
# lst_
# 根据注释中说明可知,此处"_"应替换成[3]=1,即有
# lst[3]=1
请先将下面的代码复制到答题框,注意添加缩进

# 导入相关的包
import pandas as pd
import numpy as np
from numpy import nan as NA

def fact():
answer = []

df1 = pd.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b'], 'data1': range(7)})
df2 = pd.DataFrame({'key': ['a', 'b', 'd'], 'data2': range(3)})

# 指定key这一列取交集
dataframe1 = _

answer.append(dataframe1)

# 取df1和df2的交集
dataframe2 = _

answer.append(dataframe2)

# 取左连接,df1左连接df2
dataframe3 = _

answer.append(dataframe3)

df3 = pd.DataFrame({"lkey": ["b", "b", "a", "c", "a", "a", "b"], "data1": range(7)})
df4 = pd.DataFrame({"rkey": ["a", "b", "d"], "data2": range(3)})

# 取df3,df4的交集
dataframe4 = _

answer.append(dataframe4)

s1 = pd.Series([0, 1], index=["a", "b"])
s2 = pd.Series([2, 3, 4], index=["c", "d", "e"])
s3 = pd.Series([5, 6], index=["f", "g"])

# 将多个Series拼接成一个DataFrame,即一个Series就是DataFrame的一列数据
dataframe5 = _

answer.append(dataframe5)


df5 = pd.DataFrame({"a": [1, NA, 5, NA], "b": [NA, 2, NA, 6], "c": range(2, 18, 4)})
df6 = pd.DataFrame({"a": [5, 4, NA, 3, 7], "b": [NA, 3, 4, 6, 8]})

# 用df6的数据为df5中的数据打补丁
dataframe6 = _

answer.append(dataframe6)

data = pd.DataFrame(np.arange(6).reshape(2, 3), index=pd.Index(["上海", "北京"], name="省份"),
columns=pd.Index([2011, 2012, 2013], name="年份"))
# 将data的列所引转换到行索引
result1 = _

answer.append(result1)

# 将result1的行索引转化为列索引
result2 = _

answer.append(result2)

# 将result1的行索引转化为列索引,指定要转化为层次化索引的名称为"省份"
result3 = _

answer.append(result3)

data1 = pd.DataFrame({"k1": ["one"] * 3 + ["two"] * 4, "k2": [1, 1, 2, 3, 3, 4, 4]})
# 使用DataFrame的内置函数去除重复数据,默认保留第一次出现的值
result4 = _

answer.append(result4)

return answer

# 导入相关的包
import pandas as pd
import numpy as np
from numpy import nan as NA

def fact():
    answer = []

    df1 = pd.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b'], 'data1': range(7)})
    df2 = pd.DataFrame({'key': ['a', 'b', 'd'], 'data2': range(3)})

# 指定key这一列取交集
    dataframe1 =pd.merge(df1,df2,on='key')

    answer.append(dataframe1)

    # 取df1和df2的交集
    dataframe2 = pd.merge(df1,df2)

    answer.append(dataframe2)

    # 取左连接,df1左连接df2
    dataframe3 = pd.merge(df1,df2,how='left')

    answer.append(dataframe3)

    df3 = pd.DataFrame({"lkey": ["b", "b", "a", "c", "a", "a", "b"], "data1": range(7)})
    df4 = pd.DataFrame({"rkey": ["a", "b", "d"], "data2": range(3)})

    # 取df3,df4的交集
    dataframe4 = pd.merge(df3,df4,left_on='lkey',right_on='rkey')

    answer.append(dataframe4)

    s1 = pd.Series([0, 1], index=["a", "b"])
    s2 = pd.Series([2, 3, 4], index=["c", "d", "e"])
    s3 = pd.Series([5, 6], index=["f", "g"])

    # 将多个Series拼接成一个DataFrame,即一个Series就是DataFrame的一列数据
    dataframe5 = pd.concat([s1,s2,s3],axis=1)

    answer.append(dataframe5)


    df5 = pd.DataFrame({"a": [1, NA, 5, NA], "b": [NA, 2, NA, 6], "c": range(2, 18, 4)})
    df6 = pd.DataFrame({"a": [5, 4, NA, 3, 7], "b": [NA, 3, 4, 6, 8]})

    # 用df6的数据为df5中的数据打补丁
    dataframe6 = df5.combine_first(df6)

    answer.append(dataframe6)

    data = pd.DataFrame(np.arange(6).reshape(2, 3), index=pd.Index(["上海", "北京"], name="省份"),
    columns=pd.Index([2011, 2012, 2013], name="年份"))
    # 将data的列所引转换到行索引
    result1 = data.stack()

    answer.append(result1)

    # 将result1的行索引转化为列索引
    result2 = result1.unstack()

    answer.append(result2)

    # 将result1的行索引转化为列索引,指定要转化为层次化索引的名称为"省份"
    result3 = result1.unstack(level='省份')

    answer.append(result3)

    data1 = pd.DataFrame({"k1": ["one"] * 3 + ["two"] * 4, "k2": [1, 1, 2, 3, 3, 4, 4]})
    # 使用DataFrame的内置函数去除重复数据,默认保留第一次出现的值
    result4 = data1.drop_duplicates()

    answer.append(result4)

    return answer

水~~~~~~~~~~~~

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/737330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存