[英]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.