逗号分隔似乎没有Pandas DataFrame也能正常工作。执行
from tabulate import tabulate
print(tabulate([['2023m06',2000],['2023m05',100000]],
tablefmt='rounded_grid',
intfmt=','))
字符串
给了我
╭─────────┬─────────╮
│ 2023m06 │ 2,000 │
├─────────┼─────────┤
│ 2023m05 │ 100,000 │
╰─────────┴─────────╯
型
如所料。但是当我尝试使用Pandas DataFrame时
import pandas as pd
test = {'2023m06': [2000], '2023m05': [100000]}
df = pd.DataFrame.from_dict(test,
orient='index',
columns=['myColumn'])
print(df.to_markdown(tablefmt='rounded_grid',
intfmt=','))
型
我的结果
╭─────────┬────────────╮
│ │ myColumn │
├─────────┼────────────┤
│ 2023m06 │ 2000 │
├─────────┼────────────┤
│ 2023m05 │ 100000 │
╰─────────┴────────────╯
型
没有逗号。有人能看出我做错了什么吗?
2条答案
按热度按时间atmip9wb1#
我不知道为什么,但是如果我使用
floatfmt
而不是intfmt
,那么我就会得到你想要的结果。字符串
包括另一个多列的示例,因为在我的例子中需要这样做。
型
lqfhib0f2#
在Pandas中使用
df.to_markdown()
时,intfmt
参数默认不支持逗号分隔。它被设计为将整数值格式化为普通数字。要在markdown输出中实现逗号分隔,可以在调用to_markdown()
之前预处理DataFrame列。下面是一个例子:字符串
上面的代码使用一个lambda函数和
format(x, ",")
将'myColumn'
列中的整数转换为逗号分隔的字符串。然后,在修改后的DataFrame上调用df.to_markdown()
,得到所需的markdown输出,其中整数值带有逗号。型