将字符串的数据帧列合并为Pandas中的单个列
问题描述:
我在数据框(从CSV导入)中包含包含此类文本的列.
I have columns in a dataframe (imported from a CSV) containing text like this.
"New york", "Atlanta", "Mumbai"
"Beijing", "Paris", "Budapest"
"Brussels", "Oslo", "Singapore"
我想像这样将所有列折叠/合并为一列
I want to collapse/merge all the columns into one single column, like this
New york Atlanta
Beijing Paris Budapest
Brussels Oslo Singapore
在大熊猫中怎么做?
答
A faster (but uglier) version is with .cat
:
df[0].str.cat(df.ix[:, 1:].T.values, sep=' ')
0 New york Atlanta Mumbai
1 Beijing Paris Budapest
2 Brussels Oslo Singapore
Name: 0, dtype: object
在更大的(10kx5)数据帧上:
On a larger (10kx5) DataFrame:
%timeit df.apply(" ".join, axis=1)
10 loops, best of 3: 112 ms per loop
%timeit df[0].str.cat(df.ix[:, 1:].T.values, sep=' ')
100 loops, best of 3: 4.48 ms per loop