わかさぎのブログ

プログラミング、Atcoderの勉強とか

2022-11-09から1日間の記事一覧

C++ sort

C++

#define ALL(x) begin(x), end(x) //昇順ソート sort(ALL(x)); //降順ソート sort(ALL(x), greater<int>());</int>

julia dataframeとpandas

using PyCall using Conda using CSV using DataFrames np=pyimport("numpy") pd=pyimport("pandas") df=pd.read_csv("data.csv") @show df x=df["aaa"] y=df["bbb"] ddf=CSV.read("data.csv",DataFrame) @show ddf CSV.readは第二引数に何の型に変換します…

julia juliaでpandasを使う

#対話モード julia using Conda Conda.add("pandas")

julia juliaでmatplotlib

using PyPlot a=[1,2,3] b=[4,5,6] plt.plot(a,b) plt.show()

julia Pkg(パッケージ)の追加

#対話モード julia using Pkg Pkg.add("hoge")

julia 関数内での変数の書き換え

ans=[1,2,3] function fff(list) list[1]=2 end fff(ans) @show ans x=1 function ffff(x) x=x+1 end @show x pythonと同じく、配列(pythonのlist)を関数に渡すと、関数内で書き換えができるが、intなどだと関数内で書き換えができない。

julia global変数の定義

a=[1,2,3] function ff(x,y) global a z=x+y+a[1] return z end @show(ff(3,4)) pythonと同じ

julia 関数の定義

function f(x,y) x=x+2 y=y+2 z=x+y return z end @show f(2,3) ポイント コロンつけない defじゃなくてfuinction endが必要

julia broadcast

2項演算子の場合 a=["aa", "bb", "cc"] new=a.*"d" @show new #new=["aad", "bbd", "ccd"] #順番は逆でもいい a="hoge" b=["a", "b", "c"] c=a.*b @show c #c=["hogea", "hogeb", "hogec"] 1項演算子や引数一つの関数の場合 a=[1;2;3] b=broadcast(sin, a) @…

julia 文字列の操作

a="hoge" b="var" c=a*b @show c #c=hogevar *演算子で結合できる

julia pythonと違うところ同じところ

違うところ インデックスは1始まり。 for文if文の末尾にコロンをつけない。 for文if文の終わりにendをつける。 for文の変数が複数ある時()が必要。 スライスで例えばa[1:3]とすると右端の3も含むところ(pythonは右端は含まない) juliaには破壊的な演算子がな…

julia 行列の書き方

a=[1;2;3;4;5] println(a) b=[1 2 3 4 5] println(b) ;は縦に並べる。改行する。 スペースは横に並べる。 カンマは基本使わないでこの二つの記号だけ使えばいい。

julia for文

for (i,j) in zip(1:3,2:4) println(i) println(j) end pythonと同じくzip関数が使える。 しかしコロンをつけない、(i,j)と変数をかっこで囲う必要がある、endを書く点が異なる。スコープをインデントで表現する点は共通。