Iron pythonを使用して.NET空間にpandas DataFrameをロードできますか? そうでない場合は、パンダ df を csv ファイルに変換してから、.net スペースで読み取ることを考えています。
質問する
8705 次
3 に答える
10
いいえ、Pandas は CPython とかなり密接に結びついています。あなたが言ったように、あなたの最善の策は、Pandas を使用して CPython で分析を行い、結果を CSV にエクスポートすることです。
于 2013-01-21T16:34:02.520 に答える
3
連載を含むオプションについて:
私はまだ同様のケースを調査しています.pythonでデータを処理し、結果をc#で使用したいと考えています。私たちの要件は、(できれば) python 部分をプラットフォームに依存しないようにして、Linux または Windows のいずれかで数値計算を実行できるようにすることでした。簡単に言うと、Message Pack でバイナリのシリアライゼーション/デシリアライゼーションを使用することにしました: http://msgpack.org/index.html
DataFrame の値をリストに変換し、ファイルにシリアル化します。
import msgpack as mp
data_as_list = df.values.tolist()
mp.pack(data_as_list, open("d:\\msgpack1.mp",'wb'))
次に、C# 側で、MessagePack の .net 実装を使用してデータを逆シリアル化します。
using MsgPack;
var serializer =
SerializationContext.Default.GetSerializer<MessagePackObject[][]>();
var unpackedObject = serializer.Unpack(File.OpenRead("d:\\msgpack1.mp"));
バイナリー・シリアライゼーションの主な利点:
- csv、json、xml などのテキストベースのシリアル化形式と比較して、エンコーディング関連の問題が発生しにくい
- データによっては、CSV よりも高速になる可能性があります (これは私たちの場合でした): http://matthewrocklin.com/blog/work/2015/03/16/Fast-Serialization/
于 2015-10-26T13:20:07.117 に答える
1
Python.NET を使用して .NET から CPython を呼び出すことができます。
于 2014-12-30T16:54:47.757 に答える