Python 从 CSV 读取数据

Posted

技术标签:

【中文标题】Python 从 CSV 读取数据【英文标题】:Python Read data from CSV 【发布时间】:2021-03-26 11:01:05 【问题描述】:

我有一个 Python 程序,可以从 csv 读取数据,我有 2 个问题。

    假设在文件中我有从 1990 年到 2020 年的数据。我可以使用什么命令仅获取 2000 年以上的年份?

    假设文件中的日期具有这种格式 '2000-12-02' 我如何将其添加到列表中,因为我认为它们目前是字符串,我无法进行预测,因为我需要字符串。

我将放在这里的代码与问题没有关联,只是为了让您可以看到我使用的导入和东西。

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn import linear_model


regr = linear_model.LinearRegression()

df = pd.read_csv("net_monthly_average_earnings.csv")

print(df.head())

X = df[['Year']]
y = df[['Earnings']]

regr.fit(X, y)
earnings_predict = regr.predict(X)
plt.plot(X, y, 'o')
plt.plot(X, earnings_predict)

X_future = np.array(range(2021, 2030))
X_future = X_future.reshape(-1, 1)
future_predict = regr.predict(X_future)
plt.plot(X_future, future_predict, 'o')
plt.xlabel('Year')
plt.ylabel('Earning')
plt.title('Average salary in Romania + future predictions')
plt.show()

【问题讨论】:

【参考方案1】:
df['date'] = pd.to_datetime(df['date'])
df['year'], df['month'] = df['date'].dt.year, df['date'].dt.month
df

您可以使用“if”语句来获取您想要的年份。 以您为例-

if X>2000:
    print(X)

或者您可以使用 SQL 来选择您希望进入数据库的年份(在创建 init 函数之后)

def year_select(self,CURRENT_TIMESTAMP):
    self.cur.execute("SELECT YEAR IF>2000")

将日期放入列表中:

import pandas as pd

start = '2015-08-01' #YYY-MM-DD
end = '2020-07-06'

pd.date_range(start, end)

# to start from today

pd.date_range(pd.Timestamp.today(), end)
    

【讨论】:

没问题的朋友!

以上是关于Python 从 CSV 读取数据的主要内容,如果未能解决你的问题,请参考以下文章

python怎么读取csv文件

将数据从 csv 读取到类对象列表中 - Python

gh读取csv文件

python如何读取csv指定内容所在行的第二列内容?

从csv读取到数据框pandas python时,dict对象转换为字符串

从多个文件中读取大数据并在python中聚合数据的最快方法是啥?