我有一个DataFrame,在创建它时,它的值在几列之间被拆分。我想把第2-4列合并成一列。你知道吗
fish_frame: 0 1 2 3 \
0 735-8 NaN NaN NaN
1 NaN NaN NaN LIVE WGT
2 GBE COD NaN NaN 600
3 GBW COD NaN 11,189 NaN
4 GOM COD NaN 0 NaN
5 POLLOCK NaN NaN 1,103
6 WHAKE NaN NaN 12
7 GBE HADDOCK NaN 10,730 NaN
8 GBW HADDOCK NaN 64,147 NaN
9 GOM HADDOCK NaN 0 NaN
10 REDFISH NaN NaN 0
11 WITCH FLOUNDER NaN 370 NaN
12 PLAICE NaN NaN 622
13 GB WINTER FLOUNDER 54,315 NaN NaN
14 GOM WINTER FLOUNDER 653 NaN NaN
15 SNEMA WINTER FLOUNDER 14,601 NaN NaN
16 GB YELLOWTAIL NaN 1,663 NaN
17 SNEMA YELLOWTAIL NaN 1,370 NaN
18 CCGOM YELLOWTAIL 1,812 NaN NaN
4 6 package_deal_column Package_Price
0 NaN NaN Package Deal - $40,753.69 nan
1 NaN TOTAL Package Deal - $40,753.69 nan
2 NaN NaN Package Deal - $40,753.69 None
3 NaN NaN Package Deal - $40,753.69 None
4 Package Deal - $40,753.69 None Package Deal - $40,753.69 None
5 NaN NaN Package Deal - $40,753.69 None
6 NaN NaN Package Deal - $40,753.69 None
7 NaN NaN Package Deal - $40,753.69 None
8 NaN NaN Package Deal - $40,753.69 None
9 NaN NaN Package Deal - $40,753.69 None
10 NaN NaN Package Deal - $40,753.69 None
11 NaN NaN Package Deal - $40,753.69 None
12 NaN NaN Package Deal - $40,753.69 None
13 NaN None Package Deal - $40,753.69 None
14 NaN None Package Deal - $40,753.69 None
15 NaN None Package Deal - $40,753.69 None
16 NaN NaN Package Deal - $40,753.69 None
17 NaN NaN Package Deal - $40,753.69 None
18 NaN None Package Deal - $40,753.69 None
正如您所看到的,weight
值在几个列之间被拆分。你知道吗
我按照这个答案的说明(pandas merge columns in same dataframe)试着:
pd.DataFrame({'Column 2': pd.concat([fish_frame[1], fish_frame[2], fish_frame[3]])}).sort_index()
但这并没有成功地将它们合并。我不确定这是因为我使用了错误的命令,还是因为我的问题更具体。你知道吗
另外,我不认为这能解决问题,但我确实尝试过:
fish_frame = fish_frame.dropna(axis=1, how='all')
但它没有改变df。你知道吗
任何帮助解决这个问题将不胜感激。你知道吗
做什么fish_frame = fish_frame.set_index(0).stack()
产生:
fish_frame: 735-8 package_deal_column Package Deal - $40,753.69
Package_Price nan
NaN 3 LIVE WGT
6 TOTAL
package_deal_column Package Deal - $40,753.69
Package_Price nan
GBE COD 3 600
package_deal_column Package Deal - $40,753.69
GBW COD 2 11,189
package_deal_column Package Deal - $40,753.69
GOM COD 2 0
4 Package Deal - $40,753.69
package_deal_column Package Deal - $40,753.69
POLLOCK 3 1,103
package_deal_column Package Deal - $40,753.69
WHAKE 3 12
package_deal_column Package Deal - $40,753.69
GBE HADDOCK 2 10,730
package_deal_column Package Deal - $40,753.69
GBW HADDOCK 2 64,147
package_deal_column Package Deal - $40,753.69
GOM HADDOCK 2 0
package_deal_column Package Deal - $40,753.69
REDFISH 3 0
package_deal_column Package Deal - $40,753.69
WITCH FLOUNDER 2 370
package_deal_column Package Deal - $40,753.69
PLAICE 3 622
package_deal_column Package Deal - $40,753.69
GB WINTER FLOUNDER 1 54,315
package_deal_column Package Deal - $40,753.69
GOM WINTER FLOUNDER 1 653
package_deal_column Package Deal - $40,753.69
SNEMA WINTER FLOUNDER 1 14,601
package_deal_column Package Deal - $40,753.69
GB YELLOWTAIL 2 1,663
package_deal_column Package Deal - $40,753.69
SNEMA YELLOWTAIL 2 1,370
package_deal_column Package Deal - $40,753.69
CCGOM YELLOWTAIL 1 1,812
package_deal_column Package Deal - $40,753.69
使用
set_index
和stack
:取决于列标题的数据类型是integer还是str:
或者
输出:
进一步更名等。。你知道吗
输出:
相关问题 更多 >
编程相关推荐