第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas行檢查元素字符串是否以其他元素的字符串開頭(2個不同的列)

Pandas行檢查元素字符串是否以其他元素的字符串開頭(2個不同的列)

繁華開滿天機 2022-09-20 15:27:38
我收到了一個.csv文件,有2列(簡化)。一列包含數(shù)據(jù),另一列包含文件名。不幸的是,此文件名可能不正確,我必須通過比較日期和文件名來確定。我想要什么# initial situationd = {    'call_date': ["20200102-09", "20191203-04", "20200103-10"],    'filename': ["20200102-09xx.wav", "20200102-10yy.wav", "20200103-10zz.wav"]}df = pd.DataFrame(data=d)print(df)#      call_date           filename# 0  20200102-09  20200102-09xx.wav# 1  20191203-04  20200102-10yy.wav# 2  20200103-10  20200103-10zz.wav...# desired resultprint(pd.Series([True, False, True]))# 0     True# 1    False# 2     True# dtype: bool有了想要的結(jié)果,我可以計算出我有多少個錯誤的文件,并過濾DataFrame以僅包含有效的條目。我嘗試過什么通常,比較的工作方式如下:# True / Falsedf["call_date"] == df["filename"]# filter DFdf[df["call_date"] == df["filename"]]熊貓有一只熊貓。系列.str.startswith函數(shù),但是它僅適用于單個字符串,而不適用于諸如以下的內(nèi)容:df["filename"].str.startswith(df["call_date"])# 0   NaN# 1   NaN# 2   NaN# Name: filename, dtype: float64問題如何進(jìn)行行間比較,比較列“文件名”中的元素是否以列“call_date”中找到的字符串開頭?
查看完整描述

2 回答

?
慕碼人8056858

TA貢獻(xiàn)1803條經(jīng)驗 獲得超6個贊

將列表理解與 - 輸出為列表,可用于通過布爾索引進(jìn)行篩選startswith


m = [x.startswith(y) for x, y in df[['filename','call_date']].values]

藝術(shù)


m = [x.startswith(y) for x, y in zip(df['filename'], df['call_date'])]

print (m)

[True, False, True]

另一種解決方案,但速度較慢:


m = df.apply(lambda x: x['filename'].startswith(x['call_date']), axis=1)

print (m)

0     True

1    False

2     True

dtype: bool


查看完整回答
反對 回復(fù) 2022-09-20
?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗 獲得超6個贊

執(zhí)行:

df['is_correct'] = df.apply(lambda x: x['filename'].startswith(x['call_date']),axis=1)

然后,總結(jié)一下你有多少正確:

df['is_correct'].sum()


查看完整回答
反對 回復(fù) 2022-09-20
  • 2 回答
  • 0 關(guān)注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號