小编abo*_*vel的帖子

如何使用 MultiIndex 将“总计”行附加到 pandas 数据框

假设您有一个带有 MultiIndex 的简单 pandas 数据框:

df = pd.DataFrame(1, index=pd.MultiIndex.from_tuples([('one', 'elem1'), ('one', 'elem2'), ('two', 'elem1'), ('two', 'elem2')]),
                  columns=['col1', 'col2'])
Run Code Online (Sandbox Code Playgroud)

打印为表格:

           col1  col2
one elem1     1     1
    elem2     1     1
two elem1     1     1
    elem2     1     1
Run Code Online (Sandbox Code Playgroud)

问题:如何向该数据框添加“总计”行?

预期输出:

             col1  col2
one   elem1   1.0   1.0
      elem2   1.0   1.0
two   elem1   1.0   1.0
      elem2   1.0   1.0
Total         4.0   4.0
Run Code Online (Sandbox Code Playgroud)

第一次尝试:简单的实现

如果我只是忽略 MultiIndex 并遵循标准方式

df.loc['Total'] = df.sum()
Run Code Online (Sandbox Code Playgroud)

输出:

              col1  col2
(one, elem1)     1     1
(one, elem2)     1     1
(two, elem1)     1     1 …
Run Code Online (Sandbox Code Playgroud)

python pandas

7
推荐指数
1
解决办法
4650
查看次数

如何用 pandas 打开德语 csv 文件?

问题

\n

用 pandas 打开德语 csv 文件的最佳方法是什么?

\n

我有一个包含以下列的德语 csv 文件:

\n
    \n
  • 数据:格式为“DD.MM.YYYY”的日期
  • \n
  • Umlaute:带有特定于德语的特殊字符的德语名字
  • \n
  • Zahlen:格式为“000.000,00”的数字
  • \n
\n

我的预期输出是:

\n
            Umlaute      Zahlen\nDatum                          \n2020-01-01  R\xc3\xbcdiger  1000000.11\n2020-01-02  G\xc3\xbcnther       12.34\n2020-01-03   J\xc3\xbcrgen      567.89\n
Run Code Online (Sandbox Code Playgroud)\n

下面提供了示例数据(参见文件)。

\n
\n

第一次尝试:使用不带参数的 pd.read_csv()

\n
            Umlaute      Zahlen\nDatum                          \n2020-01-01  R\xc3\xbcdiger  1000000.11\n2020-01-02  G\xc3\xbcnther       12.34\n2020-01-03   J\xc3\xbcrgen      567.89\n
Run Code Online (Sandbox Code Playgroud)\n

这会抛出一个UnicodeDecodeError

\n
UnicodeDecodeError: \'utf-8\' codec can\'t decode byte 0xfc in position 12: invalid start byte\n
Run Code Online (Sandbox Code Playgroud)\n

第二次尝试:使用 pd.read_csv 指定编码和分隔

\n
  df = pd.read_csv(\'german_csv_test.csv\', sep=\';\', encoding=\'latin1\')\n
Run Code Online (Sandbox Code Playgroud)\n

这不会引发错误,但它与我想要的输出相去甚远:

\n
    \n
  • 日期是字符串而不是日期时间。 …

python csv pandas

2
推荐指数
1
解决办法
2178
查看次数

标签 统计

pandas ×2

python ×2

csv ×1