我已经用熊猫数据框制作了一张桌子。我想在每一列上绘制黑白线条,因为我必须在Microsoft Office或Latex上复制此数据,并且必须以表格形式显示它。我怎样才能做到这一点?
`x= [0,1,2,3,4]
y=[10,20,30,40,50]
z= [100,200,300,400,500]
dict = {"col_1": x, "col_2":y, "col_3":z}
print(pandas.DataFrame(data=dict))`
答案 0 :(得分:2)
如果您的目标是将此表复制到MS Office,则可以尝试以下两种操作:
1)将dataFrame写入csv文件,然后在MS Office中打开csv文件。
df=pandas.DataFrame(data=dict)
df.to_csv("my_df.csv")
2)如果您确实希望在列之间使用线条,也可以将其写入html文件并打开。
df.to_html("my_df.html")
答案 1 :(得分:0)
考虑使用以下代码,然后可以在MS Excel中打开df.xlsx。
x = [0,1,2,3,4]
y = [10,20,30,40,50]
z = [100,200,300,400,500]
_dict = {"col_1": x, "col_2":y, "col_3":z}
将数据帧保存到xlsx:
df = pd.DataFrame(data=_dict)
df.to_excel('df.xlsx')
答案 2 :(得分:0)
要将表格复制到 Excel(等)中而无需保存和加载等中间步骤,只需使用 pandas to_clipboard()
方法:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_clipboard.html
或者应用 OP 的例子:
import pandas as pd
x = [0,1,2,3,4]
y = [10,20,30,40,50]
z = [100,200,300,400,500]
dict = {"col_1": x, "col_2":y, "col_3":z}
df = pandas.DataFrame(data=dict)
df.to_clipboard()
在此之后,应该可以直接粘贴到电子表格或其他相关软件中。
OP 的原始问题还要求提供在 LaTeX 中使用的选项。这可以通过以下类似的方式实现:
print(df.to_latex(index=False))
这不会自动出现在剪贴板中,但会打印:
\begin{tabular}{lrrr}
\toprule
{} & col\_1 & col\_2 & col\_3 \\
\midrule
0 & 0 & 10 & 100 \\
1 & 1 & 20 & 200 \\
2 & 2 & 30 & 300 \\
3 & 3 & 40 & 400 \\
4 & 4 & 50 & 500 \\
\bottomrule
\end{tabular}
请注意,如果您使用 Jupyter 之类的东西默认打印返回值,那么如果没有 print
对 to_latex()
的输出进行 print
处理,那么输出中会有额外的反斜杠,因此 $result= Message::with('users')
->select(DB::raw('id,from_user,to_user,created_at, max(created_at) as createdAt'))
->where('to_user',$user)
->orderBy('createdAt', 'desc')
->groupBy('from_user')
->selectRaw('count(messages.from_user) as total_msg')
->get();
是必要的.