Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将特定列转换为其他列值中的行_Python_Pandas_Numpy_Analytics_Transpose - Fatal编程技术网

Python 如何将特定列转换为其他列值中的行

Python 如何将特定列转换为其他列值中的行,python,pandas,numpy,analytics,transpose,Python,Pandas,Numpy,Analytics,Transpose,您好,我正在尝试在pandas中执行转置操作,但条件是一列的值应与转置的行相关联。 下面给出的示例将解释更好的方法: 数据如下所示: A 1 2 3 4 51 52 53 54 B 11 22 23 24 71 72 73 74 A 123452525354 B 11 22 23 24 71 72 73 74 我尝试这样做的结果是: A 1 51 A 2 52 A 3 53 A 4 54 B 11 71 B 22 72

您好,我正在尝试在pandas中执行转置操作,但条件是一列的值应与转置的行相关联。 下面给出的示例将解释更好的方法: 数据如下所示:

A 1 2 3 4 51 52 53 54 B 11 22 23 24 71 72 73 74 A 123452525354 B 11 22 23 24 71 72 73 74 我尝试这样做的结果是:

A 1 51 A 2 52 A 3 53 A 4 54 B 11 71 B 22 72 B 23 73 B 24 74 A 151 A 252 A 353 A 454 B 11 71 B 22 72 B 23 73 B 24 74 在第一行中,数据位于单行中,我想将数据从1转换为4,并在另一列中使用值“A”。有人能建议我怎么做吗???

您似乎需要或:

按注释编辑:

#set index with first column
df = df.set_index(0)

#create MultiIndex
cols = np.arange(len(df.columns))
df.columns = [ cols // 4, cols % 4]
print (df)
    0               1            
    0   1   2   3   0   1   2   3
0                                
A   1   2   3   4  51  52  53  54
B  11  22  23  24  71  72  73  74

#stack, reset index names, remove level and reset index
df1 = df.stack().rename_axis((None, None)).reset_index(level=1, drop=True).reset_index()
#set new columns names
df1.columns = ['a','b','c']
print (df1)
   a   b   c
0  A   1  51
1  A   2  52
2  A   3  53
3  A   4  54
4  B  11  71
5  B  22  72
6  B  23  73
7  B  24  74
#set index with first column
df = df.set_index(0)

#create MultiIndex
cols = np.arange(len(df.columns))
df.columns = [ cols // 4, cols % 4]
print (df)
    0               1            
    0   1   2   3   0   1   2   3
0                                
A   1   2   3   4  51  52  53  54
B  11  22  23  24  71  72  73  74

#stack, reset index names, remove level and reset index
df1 = df.stack().rename_axis((None, None)).reset_index(level=1, drop=True).reset_index()
#set new columns names
df1.columns = ['a','b','c']
print (df1)
   a   b   c
0  A   1  51
1  A   2  52
2  A   3  53
3  A   4  54
4  B  11  71
5  B  22  72
6  B  23  73
7  B  24  74