【问题标题】:How to Add the Values in Columns Related to a CSV file (Pandas)如何在与 CSV 文件 (Pandas) 相关的列中添加值
【发布时间】:2021-07-22 04:52:06
【问题描述】:

我对编码很陌生,所以提前道歉。我的计算机上有一个名为 SouthKoreaRoads2 的 CSV 文件,下图是它的外观示例(名称、年份和长度):

使用以下代码,我根据原始数据创建了一个新表,但只包括年份低于 1975 年的行(带有行的列称为简化日期)。

import pandas as pd 
import os
SouthKoreaRoads2 = pd.read_csv("SouthKoreaRoads2.csv")
SouthKoreaRoads2[SouthKoreaRoads2['Simplified Date'] < 1975]

现在,我的问题是:如何将这个更具体的表格中的每个长度值(第三列)相加?我可以完全澄清或提供更多信息,我只是感到非常迷茫,希望能得到任何帮助:)

【问题讨论】:

  • “添加更多长度值”是什么意思?请提供更具体的信息
  • 你能显示你想看的输出吗?
  • i.gyazo.com/1767c0c82607a1c367f3f7d0821cdf1c.png 我希望我的输出是长度 (km) 列中所有内容的总和。 Mac_online,我的意思是我想在我创建的这个表中添加所有长度值。

标签: python pandas csv


【解决方案1】:

得到DataFrame的过滤结果后,可以使用sum()函数得到长度值的总和

total = SouthKoreaRoads2[SouthKoreaRoads2['Simplified Date'] < 1975]["length"].sum()

【讨论】:

  • 当我使用 total = SouthKoreaRoads2[SouthKoreaRoads2['Simplified Date']
  • 您可以尝试使用print(SouthKoreaRoads2.dtypes) 打印出数据框中每一列的数据类型吗?我认为"Length (km)" 可能有非数字数据类型
  • 在得到过滤结果之前,您可以尝试使用SouthKoreaRoads2["Length (km)"] = SouthKoreaRoads2["Length (km)"].astype(np.float64)"Length (km)" 列转换为float64
【解决方案2】:

您没有创建新表,而只是过滤了数据。

SouthKoreaRoads2[SouthKoreaRoads2['Simplified Date'] < 1975]

如果要创建新表,则必须设置一个新变量:

SKR2_1975 = SouthKoreaRoads2[SouthKoreaRoads2['Simplified Date'] < 1975]

现在如果你想要这个新表的总长度,你可以这样做:

total_length = SKR2_1975['Length (km)'].sum()

【讨论】:

    猜你喜欢
    • 2017-06-10
    • 2018-05-20
    • 2013-07-24
    • 2012-06-19
    • 2013-07-25
    • 1970-01-01
    • 2018-03-08
    • 2018-12-02
    • 2021-08-29
    相关资源
    最近更新 更多