假设您有一个带有 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) 用 pandas 打开德语 csv 文件的最佳方法是什么?
\n我有一个包含以下列的德语 csv 文件:
\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\nRun Code Online (Sandbox Code Playgroud)\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\nRun Code Online (Sandbox Code Playgroud)\n这会抛出一个UnicodeDecodeError:
UnicodeDecodeError: \'utf-8\' codec can\'t decode byte 0xfc in position 12: invalid start byte\nRun Code Online (Sandbox Code Playgroud)\n df = pd.read_csv(\'german_csv_test.csv\', sep=\';\', encoding=\'latin1\')\nRun Code Online (Sandbox Code Playgroud)\n这不会引发错误,但它与我想要的输出相去甚远:
\n