簡體   English   中英

對熊貓數據框中的數據應用條件並忽略標頭

[英]applying conditional on data in pandas dataframe and ignore headers

我在 CSV 文件中有這種格式的數據。 我想要一個 excel 文件,其中所有大於 0 的值都替換為 1。現在我已經嘗試過這段代碼,但問題是我丟失了標題(例如 1960/1961 年),或者當我忽略它們時出現錯誤。

當前數據

這是我的代碼跟蹤。

import pandas as pd

data = pd.read_csv("first.csv")
data1 = data.apply(pd.to_numeric,errors='coerce')

data1 = (data1>0).astype(int)
data2 = data1.combine_first(data)
print(data2)

我希望輸出像

所需格式

這是 csv 文件的 URL,您可以下載以運行給定的代碼。 https://gofile.io/?c=eWd049

numpy 有一個 .ceil 方法可以向上舍入,而 .floor 可以向下舍入。 numpy.ceil() numpy.floor()

所以它應該是這樣的(一旦你將年份/年份更改為列標題):

import numpy as np
for column in data.columns:
    data[column]=data[column].apply(lambda x: np.ceil(x) if x<1 else np.floor(x))

對於列標題問題:指定 dtype 並檢查分隔符。

暫無
暫無

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

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