df = pd.DataFrame({'a': ['Anakin Ana', 'Anakin Ana, Chris Cannon', 'Chris Cannon', 'Bella Bold'],
'b': ['Bella Bold, Chris Cannon', 'Donald Deakon', 'Bella Bold', 'Bella Bold'],
'c': ['Chris Cannon', 'Chris Cannon, Donald Deakon', 'Chris Cannon', 'Anakin Ana, Bella Bold']},
index=[0, 1, 2])
嗨,大家好,
我試圖計算每列中有多少個共同的名字。以上是我的資料的示例。起初,它說“浮動”物件沒有屬性“拆分”錯誤。我做了一些搜索,似乎錯誤來自我丟失的資料,該資料讀取為浮點數。但即使我更改字串變數中的列,它也會不斷收到錯誤訊息。下面是我的代碼。
import pandas as pd
import csv
filepath = "C:/Users/data/Untitled Folder/creditdata2.csv"
df = pd.read_csv(filepath,encoding='utf-8')
df['word_overlap'] = [set(x[8].astype(str).split(",")) & set(x[10].astype(str).split(",")) for x in df.values]
df['overlap_count'] = df['word_overlap'].str.len()
df.to_csv('creditdata3.csv',mode='a',index=False)
這是錯誤
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-21-b85ac8637aae> in <module>
4 df = pd.read_csv(filepath,encoding='utf-8')
5
----> 6 df['word_overlap'] = [set(x[8].astype(str).split(",")) & set(x[10].astype(str).split(",")) for x in df.values]
7 df['overlap_count'] = df['word_overlap'].str.len()
8
<ipython-input-21-b85ac8637aae> in <listcomp>(.0)
4 df = pd.read_csv(filepath,encoding='utf-8')
5
----> 6 df['word_overlap'] = [set(x[8].astype(str).split(",")) & set(x[10].astype(str).split(",")) for x in df.values]
7 df['overlap_count'] = df['word_overlap'].str.len()
8
AttributeError: 'float' object has no attribute 'astype'
uj5u.com熱心網友回復:
astype是 中的一個方法DataFrame,這里你只有一個原始float型別,因為你已經索引了x.
嘗試這個:
df['word_overlap'] = [set(str(x[8]).split(",")) & set(str(x[10]).split(",")) for x in df.values]
uj5u.com熱心網友回復:
import pandas as pd
import csv
filepath = "C:/data/Untitled Folder/creditdata2.csv"
df = pd.read_csv(filepath,encoding='utf-8')
def f(columns):
f_desc, f_def = str(columns[6]), str(columns[7])
common = set(f_desc.split(",")).intersection(set(f_def.split(",")))
return common, len(common)
df[['word_overlap', 'word_count']] = df.apply(f, axis=1, raw=True).apply(pd.Series)
df.to_csv('creditdata3.csv',mode='a',index=False)
我找到了另一種方法來做到這一點,謝謝大家!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/343415.html
上一篇:熊貓從重采樣中檢索添加行的索引
