私は、社会的テストに参加した回答者の数値サブジェクトIDをインデックスとするパンダデータフレームを持っています。パンダの単一インデックスの名前を変更
基本的に、質問は2倍です。
a)。 Pandas DataFrameで単一重複インデックスの名前を変更するにはどうすればよいですか?
データの部分が、この(最初の列インデックスである)のようになります。例えば
subject build gender_response
7 5.0.6.0 Female
5 5.0.6.0 Male
4 5.0.6.0 Male
3 5.0.6.0 Female
3 5.0.6.0 Female
1 5.0.6.0 Male
、私は、他の整数に指数(「3」)のいずれかをリセットする必要があります。
私はパンダのドキュメントからの主要な機能を試してみました - 私はTrueにパラメータ「インプレース」を設定している場合、しかしhttp://pandas.pydata.org/pandas-docs/stable/generated/pandas.Index.rename.htmlを、何も起こりません:
master.iloc[3].rename(120, inplace=True)
私は新しい変数を作成し、このパラメータなしで同じ表現を使用している場合新しいインデックスを持つPandas.Seriesを返す:(しかし、私はそれを新しいデータフレームに適用する必要がある。
b)。他の列の値を条件付きで変更する方法
subject time Gender Age
7 12:30:10 Female 23
5 12:23:10 Male 18
4 12:22:17 Male 36
3 12:16:55 Female 45
3 12:16:16 Female 67
1 12:05:22 Male 28
たとえば、私はテストが行われた列「時間」を持っています。私はパンダが関数を適用してそれをやろうとしました:
time_point = pd.Timestamp(1/19/2017 12:16:55)
def filter_by_time(x):
if x[time] == Timestamp:
x.index.rename(120)
これをデータフレームの行に適用しました。
思考?クエリ1の場合
ただ、気づいた間違いを試してみてください。 –
time_point = pd.Timestamp(2017年1月18日12時16分55秒) デフfilter_by_time(X): Xの場合、[時間] == time_point: x.index.rename(120) –
あなたはあなたの質問を編集してください間違いを修正する – IanS