我當前的 df 列如下所示product_pair:
product_pair
---------------------
('B00XA1075Y', 'B002HQCWYM')
('B01G4I8WCE', 'B00H2AAXMQ')
...
我想為上述元組創建兩個不同的列,如下所示:
product_pair | p1 | p2
----------- ------- ----------
('B00XA1075Y', 'B002HQCWYM') | B00XA1075Y | B002HQCWYM
('B01G4I8WCE', 'B00H2AAXMQ') | B01G4I8WCE | B00H2AAXMQ
...
我怎樣才能做到這一點?
uj5u.com熱心網友回復:
嘗試這個:
import ast
df = pd.concat([df, pd.DataFrame(df['product_pair'].astype(str).apply(ast.literal_eval).tolist(), columns=['p1', 'p2'])], axis=1)
輸出:
>>> df
product_pair p1 p2
0 (B00XA1075Y, B002HQCWYM) B00XA1075Y B002HQCWYM
1 (B01G4I8WCE, B00H2AAXMQ) B01G4I8WCE B00H2AAXMQ
uj5u.com熱心網友回復:
您可以使用 map/apply 來遍歷元組。
df['p1'] = df['product_pair'].map(lambda x: x[0])
df['p2'] = df['product_pair'].map(lambda x: x[1])
uj5u.com熱心網友回復:
您可以通過相同的代碼使用不同形狀的元組。
df1 = pd.DataFrame(df["product_pair"].to_list())
df1.columns = df1.columns 1
pd.concat([df, df1.add_prefix("p")], axis=1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/443071.html
標籤:熊猫
