如何为Pandas Dataframe 创建一个带if条件的函数

dphi5xsq  于 2022-12-16  发布在  其他
关注(0)|答案(2)|浏览(150)

我想做一个函数,可以用if条件在.txt文件中添加一行新的文本。我不擅长编程。有人能给我解释一下如何在python中创建一个函数吗?
例如:给定这样的表
| 正文|相似性|极性|
| - ------|- ------|- ------|
| ABCDD语言|0.6分|阳性|
| 阿斯达斯|0.4分|否定|
| 阿斯加斯|1.0分|阳性|
所以我想用if条件做一个函数,条件如下:如果列dataframe ['similarity']中的值大于0.5,而其他列dataframe ['polarity']中的值是“POSITIF”。那么,我想在一个.txt文件中添加一个新的文本行。有人能解释一下如何实现这一点吗?我自己试过了,但我想这完全是一团糟

if (df['similarity'] > 0.5) & df['polarity'].str.contains('POSITIF').any():
    with open("text.txt","a") as myfile:
        myfile.write("text appended \n")
gev0vcfq

gev0vcfq1#

这取决于你到底想做什么。
如果需要遍历所有行,请使用iterrows(警告,它很慢!):

with open("text.txt","a") as myfile:
    for key, row in df.iterrows():
        if (row['similarity'] > 0.5) and ('POSITIF' in row['polarity']):
            myfile.write("text appended \n")

如果要在任何行同时满足这两个条件时追加行:

if (df['similarity'].gt(0.5) & df['polarity'].str.contains('POSITIF')).any():
    with open("text.txt","a") as myfile:
        myfile.write("text appended \n")
py49o6xq

py49o6xq2#

要创建一个包含pandals DataFrame的if条件的函数,可以使用以下步骤:
1.导入Pandas库并创建DataFrame
1.定义将DataFrame作为输入的函数
1.使用if语句检查DataFrame上的条件
1.对DataFrame执行所需的操作,例如基于条件选择特定的列或行
1.返回修改后的DataFrame
下面是一个示例,说明如何创建一个函数来筛选DataFrame,使其仅包含特定列的值大于特定阈值的行:

import pandas as pd

# create a DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

def filter_df(df):
  # check if the value in column 'A' is greater than 2
  if df['A'] > 2:
    # filter the DataFrame to only include rows where column 'A' is greater 
 than 2
    df = df[df['A'] > 2]
  return df

# apply the function to the DataFrame
filtered_df = filter_df(df)

# display the filtered DataFrame
print(filtered_df)

在此示例中,函数filter_df()将DataFrame作为输入,并使用if语句检查列“A”中的值是否大于2。如果条件为true,则函数将筛选DataFrame,使其仅包含列“A”大于2的行。然后返回修改后的DataFrame。

相关问题