2017-10-14 10 views
0

pandas DataFrame内のオブジェクトをある場所から別の場所に移動し、そのオブジェクトの元の場所を他の列に影響を与えずに空白にしておく必要があります。pandas DataFrameのオブジェクトを別のセルに移動する

employees = [0, 0, 0, 1, 0, 0, 0, 0, 0, 0] 
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 

df = pd.DataFrame({"Employees":employees, "Level":levels}) 

#move employee 1 from index 3 to index 1 without altering Level column 
#leave index 3 blank after moving employee 1 

は視覚的に、私はstarting pointからend pointに行く必要があります。

ありがとうございました!

答えて

0

私の解決策です。索引を第1引数、列名を第2引数とする.loc関数を使用できます。

続きを読むhere

import pandas as pd 
import numpy as np 

employees = [0, 0, 0, 1, 0, 0, 0, 0, 0, 0] 
levels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
df = pd.DataFrame({"Employees":employees, "Level":levels}) 

#substitution logic 
temp = df['Employees'][3] 
df.loc[3, 'Employees'] = '' 
df.loc[1, 'Employees'] = temp 
#print output 
print df 

OUTPUT:

Employees Level 
0   0  1 
1   1  2 
2   0  3 
3    4 
4   0  5 
5   0  6 
6   0  7 
7   0  8 
8   0  9 
9   0  10 
0

用途:

df = pd.DataFrame({"Employees":['','','','empployee_object','','','','','',''], 
        "Level":range(1,11)}, index=range(1,11)) 
print (df) 
      Employees Level 
1       1 
2       2 
3       3 
4 empployee_object  4 
5       5 
6       6 
7       7 
8       8 
9       9 
10      10 

#move value from 4 index to 2 index in Employees column 
df.loc[2, 'Employees'] = df.loc[4, 'Employees'] 
#set empty string to original 
df.loc[4, 'Employees'] = '' 
print (df) 
      Employees Level 
1       1 
2 empployee_object  2 
3       3 
4       4 
5       5 
6       6 
7       7 
8       8 
9       9 
10      10 
関連する問題