タグ付けされた質問 「pandas」

Pandasは、データの操作と分析のためのPythonライブラリです。たとえば、データフレーム、多次元時系列、統計、実験科学の結果、計量経済学、金融などでよく見られる断面データセットです。Pandasは、Pythonの主要なデータサイエンスライブラリの1つです。

3
グループ化されたPandasデータフレームをループする方法は?
データフレーム: c_os_family_ss c_os_major_is l_customer_id_i 0 Windows 7 90418 1 Windows 7 90418 2 Windows 7 90418 コード: print df for name, group in df.groupby('l_customer_id_i').agg(lambda x: ','.join(x)): print name print group 集約されたデータをループするだけですが、エラーが発生します。 ValueError:展開するには値が多すぎます @EdChum、これが予想される出力です。 c_os_family_ss \ l_customer_id_i 131572 Windows 7,Windows 7,Windows 7,Windows 7,Window... 135467 Windows 7,Windows 7,Windows 7,Windows 7,Window... c_os_major_is l_customer_id_i …
146 python  pandas 

5
データを3つのセット(トレーニング、検証、テスト)に分割する方法は?
私はパンダのデータフレームを持っていて、それを3つの別々のセットに分割したいと思います。からtrain_test_splitを使用sklearn.cross_validationすると、データを2つのセット(trainとtest)に分割できることがわかります。しかし、データを3つのセットに分割することに関する解決策は見つかりませんでした。できれば、元のデータのインデックスが欲しいです。 回避策は、train_test_split2回使用し、インデックスを調整することです。しかし、データを2つではなく3つのセットに分割する、より標準的な/組み込みの方法はありますか?

10
Pandas列内の辞書/リストを個別の列に分割する
postgreSQLデータベースにデータを保存しています。私はPython2.7を使用してこのデータをクエリし、Pandas DataFrameに変換しています。ただし、このデータフレームの最後の列には、その中に値の辞書(またはリスト?)があります。DataFrameは次のようになります。 [1] df Station ID Pollutants 8809 {"a": "46", "b": "3", "c": "12"} 8810 {"a": "36", "b": "5", "c": "8"} 8811 {"b": "2", "c": "7"} 8812 {"c": "11"} 8813 {"a": "82", "c": "15"} この列を個別の列に分割して、DataFrameが次のようになるようにする必要があります。 [2] df2 Station ID a b c 8809 46 3 12 8810 36 5 8 …

2
Pandas MultiIndex DataFrameの行を選択する
の行を選択/フィルタリングする最も一般的なパンダの方法は何ですか インデックスがMultiIndexでデータフレームのは何ですか? 単一の値/ラベルに基づくスライス 1つ以上のレベルの複数のラベルに基づくスライス ブール条件と式でのフィルタリング どの方法がどのような状況で適用可能か 単純化の前提: 入力データフレームに重複するインデックスキーがありません 下の入力データフレームには2つのレベルしかありません。(ここに示されているほとんどのソリューションは、Nレベルに一般化されています) 入力例: mux = pd.MultiIndex.from_arrays([ list('aaaabbbbbccddddd'), list('tuvwtuvwtuvwtuvw') ], names=['one', 'two']) df = pd.DataFrame({'col': np.arange(len(mux))}, mux) col one two a t 0 u 1 v 2 w 3 b t 4 u 5 v 6 w 7 t 8 c u 9 v …

7
パンダを使用してPythonでExcelファイルを読み取る
私はこの方法でExcelファイルを読み取ろうとしています: newFile = pd.ExcelFile(PATH\FileName.xlsx) ParsedData = pd.io.parsers.ExcelFile.parse(newFile) これは、2つの引数が予期されていることを示すエラーをスローします。2番目の引数が何であるかがわかりません。また、ここで達成しようとしていることは、ExcelファイルをDataFrameに変換することです。またはパンダを使用してこれを行う他の方法はありますか?

7
Pandas dataframe fillna()一部の列のみが配置されている
列の一部のサブセットについてのみ、Pandasデータフレームの値を0で埋めようとしています。 私がする時: import pandas as pd df = pd.DataFrame(data={'a':[1,2,3,None],'b':[4,5,None,6],'c':[None,None,7,8]}) print df df.fillna(value=0, inplace=True) print df 出力: a b c 0 1.0 4.0 NaN 1 2.0 5.0 NaN 2 3.0 NaN 7.0 3 NaN 6.0 8.0 a b c 0 1.0 4.0 0.0 1 2.0 5.0 0.0 2 3.0 0.0 7.0 …
144 python  pandas  dataframe 

6
パンダ:Excelファイルでシートのリストを検索する
新しいバージョンのPandasでは、次のインターフェイスを使用して Excelファイルを読み込みます。 read_excel('path_to_file.xls', 'Sheet1', index_col=None, na_values=['NA']) しかし、利用可能なシートがわからない場合はどうなりますか? たとえば、次のシートのExcelファイルを使用しています データ1、データ2 ...、データN、foo、bar わからない N先験的に。 パンダのExcelドキュメントからシートのリストを取得する方法はありますか?
144 python  excel  pandas  openpyxl  xlrd 


5
パンダデータフレームの行のサブセットを変更する
AとBの2つの列を持つパンダのDataFrameがあると仮定します。このDataFrameを変更(またはコピーを作成)して、Aが0のときは常にBがNaNになるようにします。 私は以下を試しました df['A'==0]['B'] = np.nan そして df['A'==0]['B'].values.fill(np.nan) 成功なし。
143 python  pandas 

10
JSONからpandas DataFrame
私がやろうとしているのは、次のように緯度と経度の座標で指定されたパスに沿ってGoogle Maps APIから標高データを抽出することです。 from urllib2 import Request, urlopen import json path1 = '42.974049,-81.205203|42.974298,-81.195755' request=Request('http://maps.googleapis.com/maps/api/elevation/json?locations='+path1+'&sensor=false') response = urlopen(request) elevations = response.read() これにより、次のようなデータが得られます。 elevations.splitlines() ['{', ' "results" : [', ' {', ' "elevation" : 243.3462677001953,', ' "location" : {', ' "lat" : 42.974049,', ' "lng" : -81.205203', ' },', ' "resolution" : …


6
パンダのDataFrameで「does-not-contain」を検索します
私はいくつかの検索を実行しましたが、データフレームをでフィルタリングする方法を理解できませんdf["col"].str.contains(word)が、その逆を行う方法があるかどうか疑問に思っています。そのセットの補完によってデータフレームをフィルタリングします。例:の効果に!(df["col"].str.contains(word))。 これはDataFrame方法で行うことができますか?
142 python  pandas  contains 

11
Pandas DataFrameの列値を置き換える
データフレームの1つの列の値を置き換えようとしています。列( 'female')には、値 'female'および 'male'のみが含まれます。 私は以下を試しました: w['female']['female']='1' w['female']['male']='0' ただし、以前の結果とまったく同じコピーを受け取ります。 理想的には、次のループに似た出力を要素ごとに取得したいと思います。 if w['female'] =='female': w['female'] = '1'; else: w['female'] = '0'; gotchasのドキュメント(http://pandas.pydata.org/pandas-docs/stable/gotchas.html)を調べましたが、何も起こらない理由がわかりません。 どんな助けでもありがたいです。
141 python  pandas 

8
Pandas DataFrameインデックスの名前を変更
ヘッダーのないcsvファイルに、DateTimeインデックスを付けました。インデックスと列名の名前を変更したいのですが、df.rename()を使用すると、列名のみが名前変更されます。バグ?バージョン0.12.0を使用しています In [2]: df = pd.read_csv(r'D:\Data\DataTimeSeries_csv//seriesSM.csv', header=None, parse_dates=[[0]], index_col=[0] ) In [3]: df.head() Out[3]: 1 0 2002-06-18 0.112000 2002-06-22 0.190333 2002-06-26 0.134000 2002-06-30 0.093000 2002-07-04 0.098667 In [4]: df.rename(index={0:'Date'}, columns={1:'SM'}, inplace=True) In [5]: df.head() Out[5]: SM 0 2002-06-18 0.112000 2002-06-22 0.190333 2002-06-26 0.134000 2002-06-30 0.093000 2002-07-04 0.098667
141 python  pandas  dataframe 

9
pandas DataFrameの前の値でNaNを置き換える方法は?
いくつかNaNのs を持つDataFrameがあるとします。 >>> import pandas as pd >>> df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]]) >>> df 0 1 2 0 1 2 3 1 4 NaN NaN 2 NaN NaN 9 私がする必要があるのは、すべてNaNをそのNaN上の同じ列の最初の非値で置き換えることです。最初の行にはが含まれないことが想定されていNaNます。したがって、前の例の結果は次のようになります 0 1 2 0 1 2 3 1 4 2 3 2 4 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.