2016-03-28 2 views
2

spark SQLContextを使用してJSONファイルをデータフレームにロードしました。 異なるユーザーからのつぶやきを保存します。それは以下のように見えます。私はPythonでこのデータフレームのデータを探索するためにpandasライブラリを使用しています。データフレームでsort_index()を使用するには?

import pandas as pd 
tweets = pd.read_json('/filepath') 
sqlcontext = SQLContext(sc) 
tweet_sdf = sqlcontext.createDataFrame(tweets) 

tweet_sdf.show(10) 
+-------------+------------------+-------------+--------------------+-------------------+ 
|  country|    id|  place|    text|    user| 
+-------------+------------------+-------------+--------------------+-------------------+ 
|  India|572692378957430784|  Orissa|@always_nidhi @Yo...| Srkian_nishu :)| 
|United States|572575240615796736| Manhattan|@OnlyDancers Bell...| TagineDiningGlobal| 
|United States|572575243883036672| Claremont|1/ "Without the a...|  Daniel Beer| 
|United States|572575252020109312|  Vienna|idk why people ha...| someone actually| 
|United States|572575274539356160|  Boston|Taste of Iceland!...|  BostonAttitude| 
|United States|572647819401670656|  Suwanee|Know what you don...|Collin A. Zimmerman| 
| Indonesia|572647831053312000| Mario Riawa|Serasi ade haha @...| Rinie Syamsuddin| 
| Indonesia|572647839521767424|Bogor Selatan|Akhirnya bisa jug...|  Vinny Sylvia| 
|United States|572647841220337664|  Norwalk|@BeezyDH_ it's li...|    Cas| 
|United States|572647842277396480|  Santee| obsessed with music|    kimo| 
+-------------+------------------+-------------+--------------------+-------------------+ 
only showing top 10 rows 

tweet_sdf.printSchema() 

root 
|-- country: string (nullable = true) 
|-- id: long (nullable = true) 
|-- place: string (nullable = true) 
|-- text: string (nullable = true) 
|-- user: string (nullable = true) 

インデックス 'id'にデータフレームをソートしようとしています。

しかし、私は以下に述べる属性エラーを受け取ります。 はAttributeError:「DATAFRAME」オブジェクトが属性「sort_index」

--------------------------------------------------------------------------- 
AttributeError       Traceback (most recent call last) 
<ipython-input-106-6cd99444a12a> in <module>() 
----> 1 tweet_sdf.sort_index(by='id', ascending=False, inplace=True) 

/home/notebook/spark-1.6.0-bin-hadoop2.6/python/pyspark/sql/dataframe.pyc in __getattr__(self, name) 
    837   if name not in self.columns: 
    838    raise AttributeError(
--> 839     "'%s' object has no attribute '%s'" % (self.__class__.__name__, name)) 
    840   jc = self._jdf.apply(name) 
    841   return Column(jc) 

AttributeError: 'DataFrame' object has no attribute 'sort_index' 

パンダのバージョンは0.18.0とPythonのバージョンではありませんしているが2.7.11 です誰かがこの方法で動作している理由を私は理解するのに役立つことはできますか?

+0

「tweet_sdf」の種類は何ですか? – Deusdeorum

+0

"pyspark.sql.dataframe.DataFrame"タイプです – Srinivas

+0

'sort_index'の代わりに' sort'を使用してみてください。 – Deusdeorum

答えて

0

Changes to sorting API

DataFrame.sort_index API reference

私は、引数が0.17.0後に削除されました "により、" 信じています。おそらく、引数を変更するかソートを使う必要があります。

The by argument of DataFrame.sort_index() has been deprecated and will be removed in a future version.

0

sort_valuesは、idの列で並べ替える必要があるため、使用することができると思います。

print tweet_sdf 
     country     id   place     text \ 
0   India 572692378957430784   Orissa  @[email protected] 
1 United States 572575240615796736  Manhattan @OnlyDancers Bell 
2 United States 572575243883036672  Claremont 1/ "Without the a 
3 United States 572575252020109312   Vienna idk why people ha 
4 United States 572575274539356160   Boston Taste of Iceland! 
5 United States 572647819401670656  Suwanee Know what you don 
6  Indonesia 572647831053312000 Mario Riawa Serasi ade haha @ 
7  Indonesia 572647839521767424 Bogor Selatan Akhirnya bisa jug 
8 United States 572647841220337664  Norwalk @BeezyDH_ it's li 
9 United States 572647842277396480   Santee obsessed with music 

       user 
0  Srkian_nishu :) 
1 TagineDiningGlobal 
2   Daniel Beer 
3 someone actually 
4  BostonAttitude 
5 Collin A Zimmerman 
6 Rinie Syamsuddin 
7  Vinny Sylvia 
8     Cas 
9    kimo 
tweet_sdf.sort_values(by='id', ascending=False, inplace=True) 
print tweet_sdf 
     country     id   place     text \ 
0   India 572692378957430784   Orissa  @[email protected] 
9 United States 572647842277396480   Santee obsessed with music 
8 United States 572647841220337664  Norwalk @BeezyDH_ it's li 
7  Indonesia 572647839521767424 Bogor Selatan Akhirnya bisa jug 
6  Indonesia 572647831053312000 Mario Riawa Serasi ade haha @ 
5 United States 572647819401670656  Suwanee Know what you don 
4 United States 572575274539356160   Boston Taste of Iceland! 
3 United States 572575252020109312   Vienna idk why people ha 
2 United States 572575243883036672  Claremont 1/ "Without the a 
1 United States 572575240615796736  Manhattan @OnlyDancers Bell 

       user 
0  Srkian_nishu :) 
9    kimo 
8     Cas 
7  Vinny Sylvia 
6 Rinie Syamsuddin 
5 Collin A Zimmerman 
4  BostonAttitude 
3 someone actually 
2   Daniel Beer 
1 TagineDiningGlobal 
+0

マイクまたはマイクSの答えが役に立った場合、[承諾]を忘れないでください(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer -やってのける。ありがとう。 – jezrael

関連する問題