29

私のパンダデータでユニットを管理する良い方法があるかどうかを調べようとしています。たとえば、DataFrame次のような があります。

   length (m)  width (m)  thickness (cm)
0         1.2        3.4             5.6
1         7.8        9.0             1.2
2         3.4        5.6             7.8

現在、測定単位は列名にエンコードされています。欠点は次のとおりです。

  1. 列の選択がぎこちない -- df['width (m)']vs.df['width']
  2. ソース データの単位が変更されると、問題が発生する可能性があります

列名から単位を削除したい場合、情報を保存できる場所は他にありますか?

4

3 に答える 3

16

現在、これを行う優れた方法はありません。議論については、こちらの github issue を参照してください

簡単なハックとして、ユニットとは別の口述を維持しながら、このようなことを行うことができます。

In [3]: units = {}

In [5]: newcols = []
   ...: for col in df:
   ...:     name, unit = col.split(' ')
   ...:     units[name] = unit
   ...:     newcols.append(name)

In [6]: df.columns = newcols

In [7]: df
Out[7]:
   length  width  thickness
0     1.2    3.4        5.6
1     7.8    9.0        1.2
2     3.4    5.6        7.8

In [8]: units['length']
Out[8]: '(m)'
于 2016-09-09T20:31:38.047 に答える