【问题标题】:Reading a csv from url从 url 读取 csv
【发布时间】:2020-04-21 08:02:32
【问题描述】:

我正在尝试获取下面列出的第一个块来复制第二个块。但是,我在 jupyter 中注意到,当我尝试去同一张桌子时;它以不同的方式显示它(第一个块看起来像一个不错的数据框,第二个看起来像一个普通的表)。这两种方法有区别吗?我还注意到的另一件事是,第一个方法“案例”列出现在 dtypes 中,而在第二个块中它显示不同的东西。谢谢!

url = 'https://raw.githubusercontent.com/nytimes/covid-19-data/master/us-counties.csv'
states = pd.read_csv(url, 
                     usecols=['date', 'county', 'state', 'cases'],
                     parse_dates=['date'],
                     squeeze=True
                    ).sort_index()
states = states.loc[states['state'] == 'Alabama']
states = states.drop(columns=['state'])
states.set_index(['county', 'date'], inplace=True)
states.dtypes

案例 int64

dtype: 对象

url = 'https://covidtracking.com/api/v1/states/daily.csv'
states = pd.read_csv(url,
                     usecols=['date', 'state', 'positive'],
                     parse_dates=['date'],
                     index_col=['state', 'date'],
                     squeeze=True).sort_index()

states.dtypes

dtype('float64')

【问题讨论】:

    标签: python pandas csv


    【解决方案1】:

    在第二个数据框中,有 NaN 值,这会强制转换为 float。有关这方面的更多详细信息,请参阅新 nullable integer datatype 的文档。

    【讨论】:

    • 我明白你的意思,这真的很有帮助。我只是不明白为什么这两个数据框在我的 jupyter 笔记本中看起来不同。我正在尝试做的是使用来自不同来源的相同类型的数据复制一个示例(示例使用州,我正在尝试使用县数据)并且它不起作用,所以我认为它与我阅读 csvs 的方式。
    猜你喜欢
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 2017-11-10
    • 2019-01-29
    • 2013-09-06
    相关资源
    最近更新 更多