在Pandas Dataframe中使用for循环创建一个列

在Pandas Dataframe中使用for循环创建一个列

在已经创建的数据框架中添加一个新的列是非常容易的。添加一个新的列实际上是为了处理先前创建的数据框架的数据。为此,我们可以处理现有的数据,并建立一个单独的列来存储数据。最简单的方法是通过创建一个新的列并为其分配新的值来添加一个新的列和数据。比如说。

import pandas as pd
 
# Creating new dataframe
initial_data = {'First_name': ['Ram', 'Mohan', 'Tina', 'Jeetu', 'Meera'],
                'Last_name': ['Kumar', 'Sharma', 'Ali', 'Gandhi', 'Kumari'],
                'Marks': [12, 52, 36, 85, 23] }
 
df = pd.DataFrame(initial_data, columns = ['First_name', 'Last_name', 'Marks'])
df['Results']=['Fail','Pass','Pass','Pass','Fail']
df

输出:

    First_name    Last_name    Marks    Results
0    Ram              Kumar        12        Fail
1    Mohan         Sharma    52        Pass
2    Tina          Ali        36        Pass
3    Jeetu         Gandhi    85        Pass
4    Meera         Kumari    23        Fail

但是当这个列需要进行一些计算或者我们需要根据某些列的值来添加新的值时,我们可以使用for循环。让我们看看如何使用for循环在pandas数据框架中创建一个列。在给定的例子中,我们根据现有数据框架df的Marks列中的标记来创建一个新的列Result。如果分数列中的值大于等于33,那么新列Result中的值将是 “通过”,如果分数列中的值小于0,大于100,那么插入 “Result “列中的值将是 “无效”,否则它应该添加值为 “失败”。

示例#2

# importing pandas
import pandas as pd
 
# Creating new dataframe
initial_data = {'First_name': ['Ram', 'Mohan', 'Tina', 'Jeetu', 'Meera'],
                'Last_name': ['Kumar', 'Sharma', 'Ali', 'Gandhi', 'Kumari'],
                'Marks': [12, 52, 36, 85, 23] }
 
df = pd.DataFrame(initial_data, columns = ['First_name', 'Last_name', 'Marks'])
 
# Generate result using pandas
result = []
for value in df["Marks"]:
    if value >= 33:
        result.append("Pass")
    elif value < 0 and value > 100:
        result.append("Invalid")
    else:
        result.append("Fail")
      
df["Result"] = result  
print(df)

输出:

  First_name Last_name  Marks Result
0        Ram     Kumar     12   Fail
1      Mohan    Sharma     52   Pass
2       Tina       Ali     36   Pass
3      Jeetu    Gandhi     85   Pass
4      Meera    Kumari     23   Fail

示例#3

我们还可以使用List comprehension来创建一个新的列。

df['Results'] = ['Pass' if m>=33 else 'Fail' for m in df['Marks']]
df

输出:

    First_name    Last_name     Marks    Results
0    Ram              Kumar         12    Fail
1    Mohan         Sharma        52    Pass
2    Tina          Ali            36    Pass
3    Jeetu          Gandhi         85    Pass
4    Meera          Kumari        23    Fail

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程