📜  如何使用另一个数据帧的索引选择数据帧的行?

📅  最后修改于: 2022-05-13 01:54:50.168000             🧑  作者: Mango

如何使用另一个数据帧的索引选择数据帧的行?

先决条件:

  • 熊猫
  • 随机的

使用 Pandas 模块,可以使用来自另一个数据帧的索引从数据帧中选择行。本文对此进行了详细讨论。建议在jupyter notebook中实现所有代码,以便于实现。

方法:

  • 导入模块
  • 创建第一个数据框。在下面给出的示例中,choice()、randint() 和 random() 都属于随机模块,用于生成数据帧。

1) choice() – choice() 是Python编程语言中的一个内置函数,它从列表、元组或字符串中返回一个随机项。

2) randint()-这个函数用来生成随机数

3) random()-用于生成0到1之间的浮点数。

  • 使用 random()函数创建另一个数据框并随机选择第一个数据集的行。
  • 现在我们将使用 dataframe.loc[]函数使用第二个数据帧的索引选择第一个数据帧的行值。熊猫 DataFrame.loc[] 属性通过标签或给定 DataFrame 中的布尔数组访问一组行和列。
  • 显示选定的行

下面给出使用上述概念的实现:

程序:

Python3
# Importing Required Libraries
import pandas as pd
import random
 
# Creating data for main dataframe
col1 = [random.randint(1, 9) for i in range(15)]
col2 = [random.random() for i in range(15)]
col3 = [random.choice(['Geeks', 'of', 'Computer', 'Science'])
        for i in range(15)]
col4 = [random.randint(1, 9) for i in range(15)]
col5 = [random.randint(1, 9) for i in range(15)]
 
# Defining Column name for main dataframe
data_generated = {
    'value1': col1,
    'value2': col2,
    'value3': col3,
    'value4': col4,
    'value5': col5
}
 
# Creating the dataframe using DataFrame() function
print("First data frame")
dataframe = pd.DataFrame(data_generated)
display(dataframe)
 
# Creating a second dataframe that will be the subset of main dataframe
print("Second data frame")
dataframe_second = dataframe[['value1', 'value2', 'value3']].sample(n=4)
display(dataframe_second)
 
# Rows of a dataframe using the indices of another dataframe
print("selecting rows of first dataframe using second dataframe")
display(dataframe.loc[dataframe_second.index])


输出: