【发布时间】:2019-04-02 16:42:44
【问题描述】:
我有一个大的 DataFrame,其中只有一列包含所有值。我需要将数据分成更多列。经过多次尝试和错误,我放弃并寻求您的帮助。
DataFrame 的头部如下所示: 这些行是一个系列对象。不是价值观
column1
---------------------------------------------------------------------
MultiIndex1 | 1.00 2.00 3.00 4.00 5.00 6.00 7.00
| 1.00 2.00 3.00 4.00 5.00 6.00 7.00
| 1.00 2.00 3.00 4.00 5.00 6.00 7.00
| 1.00 2.00 3.00 4.00 5.00 6.00 7.00
| 1.00 2.00 3.00 4.00 5.00 6.00 7.00
| 1.00 2.00 3.00 4.00 5.00 6.00 7.00
我想要的输出应该是这样的:
column1|column2|column3|column4|column5|column6|column7
---------------------------------------------------------------------
MultiIndex1 | 1.00 | 2.00 | 3.00 | 4.00 | 5.00 | 6.00 | 7.00
| 1.00 | 2.00 | 3.00 | 4.00 | 5.00 | 6.00 | 7.00
| 1.00 | 2.00 | 3.00 | 4.00 | 5.00 | 6.00 | 7.00
| 1.00 | 2.00 | 3.00 | 4.00 | 5.00 | 6.00 | 7.00
| 1.00 | 2.00 | 3.00 | 4.00 | 5.00 | 6.00 | 7.00
| 1.00 | 2.00 | 3.00 | 4.00 | 5.00 | 6.00 | 7.00
我尝试过: df.columns = ['col1','col2','col3','col4','col5'...]
我试过把它变成一个系列,然后再变成一个 df。
尝试应用 .str.split 函数。
很多切片和连接,但没有成功。
我们将不胜感激。 谢谢!
这是我的数据集的前几行,例如:
日期和 AALR3 是 Row MultiIndex
2019-01-02;AALR3;0000000020; 000000000013.300000; 000000000000000001,0:00:04.961; 1; 2019-01-02; 000086597137782; 000086597137782; 000000000310091; 2; 000086597142909; 000000000310092; 1; 0; 00000072; 00000174 2019-01-02;AALR3;0000000010; 000000000013.310000; 000000000013.310000; 10:00:04.961; 1; 2019-01-02; 000086597135827; 000086597135827; 000086597135827; 00000000000310088; 2; 000086597142909; 000086597142909; 000000000310089; 00000000000310089; 1; 0; 00000120; 00000174 2019-01-02;AALR3;0000000050; 000000000013.390000; 000000000013.390000; 10:11:40.214; 1; 2019-01-02; 000086597182855; 000086597182855; 000086597182855; 000086597182855; 1; 2019-01-02; 000086597151579; 000086597151579; 000000000400274; 2; 0; 00000058; 00000008 2019-01-02;AALR3;0000000040; 000000000013.380000; 0000000000003.380000; 10:11:40.14; 1; 2019-01-02; 000086597182855; 000086597182855; 000086597182855; 00000000000400271; 1; 2019-01-02; 000086597151578; 0000865971578; 000000000400272; 2; 0; 00000058; 00000174 2019-01-02;AALR3 ;0000000030; 000000000013.380000; 000000000013.380000; 10:11:4014; 1; 2019-01-02; 000086597182855; 000086597182855; 000086597182855; 1; 2019-01-02; 000086597151189; 000086597151189; 000086597151189; 000000000400270; 2; 0; 00000058; 0000030803
我正在阅读它:
pd.read_csv('//path_to_file', sep=';')
我想这样命名列。
df.columns = ['Session Date','Instrument Symbol','Trade Number','Trade Price','Traded Quantity',
'Trade Time','Trade Indicator','Buy Order Date','Sequential Buy Order Number',
'Secondary Order ID - Buy Order','Aggressor Buy Order Indicator','Sell Order Date',
'Sequential Sell Order Number','Secondary Order ID - Sell Order','Aggressor Sell Order Indicator',
'Cross Trade Indicator','Buy Member','Sell Member']
更新:
解决方案很有效,非常感谢。
【问题讨论】:
-
数据如何被读入数据框(例如 csv),您能否提供原始数据的样本?
标签: python pandas dataframe indexing