python - 如何向 pandas 数据框添加条件行

标签 python pandas

我尝试寻找一个简洁的答案,但没有任何帮助。我正在尝试向数据框中添加一行,该数据框采用第一列的字符串,然后为每列获取总和。我遇到了标量问题,因此我尝试将所需的行制成一系列,然后转换为数据帧,但显然我添加了四行和一个列值,而不是添加了一行和四个列值。

我的代码:

def country_csv():
    # loop through absolute paths of each file in source
    for filename in os.listdir(source):
        filepath = os.path.join(source, filename)
        if not os.path.isfile(filepath):
            continue
        df = pd.read_csv(filepath)
        df = df.groupby(['Country']).sum()
        df.reset_index()
        print(df)
        # df.to_csv(os.path.join(path1, filename))

示例数据框:

                    Confirmed  Deaths  Recovered
Country                                         
Afghanistan               299       7         10
Albania                   333      20         99

希望将其视为第一行

World 632 27 109

最佳答案

import pandas as pd
import datetime as dt

df
            Confirmed   Deaths  Recovered
Country         
Afghanistan 299         7       10
Albania     333         20      99

df.loc['World']  = [df['Confirmed'].sum(),df['Deaths'].sum(),df['Recovered'].sum()]
df.sort_values(by=['Confirmed'], ascending=False)


             Confirmed  Deaths  Recovered
Country         
World        632        27      109
Albania      333        20      99
Afghanistan  299        7       10

关于python - 如何向 pandas 数据框添加条件行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61048615/

相关文章:

python - 难以理解正则表达式方法 findall

python - 如何使用 webkit + gtk 获取网页内的标题和脚本?

python - 如何让生成器/迭代器在耗尽时评估为 False?

python - 按列值中的字符串删除行

python - 合并2个数据框在pandas中共享同一列

python - 如果数字为 1,则从 pandas 列中删除第一个字符

python - 多索引数据框中的多行选择

python正则表达式匹配并替换字符串的开头和结尾但保留中间

python - 为什么 Pandas 不使用默认的 python 'and' 和 'or' ?

python - 如何在 Seaborn 中轻松平滑热图绘图?