簡體   English   中英

熊貓從列中提取數據

[英]Pandas extract data from column

我有一個這樣的數據框

import pandas as pd
d={'x':[8,5,6,7],
   'cord':['(3,0)','(2,0)','(6,0)','(1,0)']}
df=pd.DataFrame.from_dict(d)

我想創建df ['y'],它將具有第一個'cord'值並轉換為獲取索引值。

    cord  x  y
0  (3,0)  8  1     #Index 3, First value in (1,0)
1  (2,0)  5  6     #Index 2, First value in (6,0)
2  (6,0)  6  NaN   #Index 6, does not exist, NaN
3  (1,0)  7  2     #Index 1, First value (1,0)

制作一個單獨的列,這是軟線的第一要素

df['cord1'] = df.cord.map( lambda x: x.split(',')[0].split('(')[-1]).map(int)
df
#    cord  x  cord1
#0  (3,0)  8      3
#1  (2,0)  5      2
#2  (6,0)  6      6
#3  (1,0)  7      1

這看起來可能令人困惑,但是它只是將字符串'(a,b)'分割了兩次,首先在',' ,然后在'('上進行分割。最后,它將剩余的字符串'a'轉換為整數。

現在使用cord1列將y列

df['y'] =  df.cord1[ df.cord1.values].values

小心傳遞值。 現在放下cord1列

df.drop( labels='cord1', axis=1, inplace=True)

#df
#    cord  x   y
#0  (3,0)  8   1
#1  (2,0)  5   6
#2  (6,0)  6 NaN
#3  (1,0)  7   2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM