I have the following data (2 columns, 4 rows):
Column 1: A, B, C, D
Column 2: E, F, G, H
I am trying to combine columns into one column to look like this (1 column, 8 rows):
Column 3: A, B, C, D, E, F, G, H
I use pandas DataFrame and tried to use different functions without success (append, concat, etc.). Any help would be appreciated!
You could do it this way, although I'm not sure why you want to do this:
In [227]: df = pd.DataFrame({'Column 1':['A', 'B', 'C', 'D'],'Column 2':['E', 'F', 'G', 'H']}) df Out[227]: Column 1 Column 2 0 A E 1 B F 2 C G 3 D H [4 rows x 2 columns] In [228]: df['Column 1'].append(df['Column 2']).reset_index(drop=True) Out[228]: 0 A 1 B 2 C 3 D 4 E 5 F 6 G 7 H dtype: object
, , - . , , . , , - , - :
import itertools as it, pandas as pd df = pd.DataFrame({1:['a','b','c','d'],2:['e','f','g','h']}) sorted(it.chain(*df.values)) # -> ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
You can smooth the values in the direction of the column with ravel, much faster.
ravel
In [1238]: df Out[1238]: Column 1 Column 2 0 A E 1 B F 2 C G 3 D H In [1239]: pd.Series(df.values.ravel('F')) Out[1239]: 0 A 1 B 2 C 3 D 4 E 5 F 6 G 7 H dtype: object
More details
Medium
In [1245]: df.shape Out[1245]: (4000, 2) In [1246]: %timeit pd.Series(df.values.ravel('F')) 10000 loops, best of 3: 86.2 µs per loop In [1247]: %timeit df['Column 1'].append(df['Column 2']).reset_index(drop=True) 1000 loops, best of 3: 816 µs per loop
Big
In [1249]: df.shape Out[1249]: (40000, 2) In [1250]: %timeit pd.Series(df.values.ravel('F')) 10000 loops, best of 3: 87.5 µs per loop In [1251]: %timeit df['Column 1'].append(df['Column 2']).reset_index(drop=True) 100 loops, best of 3: 1.72 ms per loop
The trick is to use stack()
stack()
df.stack().reset_index() level_0 level_1 0 0 0 Column 1 A 1 0 Column 2 E 2 1 Column 1 B 3 1 Column 2 F 4 2 Column 1 C 5 2 Column 2 G 6 3 Column 1 D 7 3 Column 2 H
Source: https://habr.com/ru/post/1538871/More articles:Web link null - c #Build large dots below and less on top - pythonGoogle plus error with immediate error - google-loginscrollTop: Smooth scrolling to ID prevents returning to the top - javascriptSingleton and race conditions - multithreadingПроверьте, существует ли очередь сообщений - chow to return existing msg message queue id - cPHP loop through an array of stdClass object - arraysHow to generate LESS source maps without npm - cssHow to avoid special characters when using ServiceStack OrmLite with SQLite? - c #All Articles