如何使用另一个数据框架的索引来选择一个数据框架的行

如何使用另一个数据框架的索引来选择一个数据框架的行

使用Pandas模块,可以使用另一个数据框的索引从一个数据框中选择行。这篇文章详细地讨论了这一点。我们建议在jupyter笔记本中实现所有的代码,以方便执行。

步骤:

  • Import module
  • 创建第一个数据框。在下面的例子中,属于随机模块的choice()、randint()和random()都被用来生成一个数据框。

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

语法: random.choice(sequence)

参数:序列是一个强制性参数,可以是一个列表、元组或字符串。

返回: choice()返回一个随机项目。

2) randint()-该函数用于生成随机数

语法 : randint(start, end)

参数:

(start, end) : 它们都必须是整数类型的值。

返回值:一个范围为[start, end]的随机整数,包括端点。

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

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

语法: DataFrame.loc

参数 : None

返回值: Scalar, Series, DataFrame

  • 显示选定的行

下面给出了使用上述概念的实现方法。

代码:

# 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])

输出:

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程