我所拥有的是一个来自导入CSV文件的列表(大的),其中包含了大量的数据。这是横跨一年的天气数据。所以12个月的数据。月份表示为1-12:请看图:

请注意,我不能导入任何模块!
正如你所看到的,每个指数的一年后的数字是月份。我想要做的是在这个列表中为每个月创建一个列表,例如['2011,01,.,...,2011,02,.]。
我该怎么做呢?
我当前用于打开CSV数据并将其添加到列表中的代码:
try:
fp = open(filename, "r")
data = []
for line in fp:
line = line.strip()
cols = line.split(',')
cols = cols[1:]
data.append(','.join(cols))
fp.close()
print(data[1:])
except IOError:
print("Error!!! Opening file...")发布于 2019-03-25 07:49:25
这看起来像是熊猫包裹pip3 install pandas的一份工作。
对于熊猫,您可以使用read_csv函数读取csv文件。一旦你有了数据,你可以选择所有的月份。
下面是一些示例代码:
import pandas as pd
df = pd.DataFrame([['2012', '01', '29'],
['2012', '01', '30'],
['2012', '01', '31'],
['2012', '02', '01'],
['2012', '02', '02'],
['2012', '02', '03'],],
columns=['year', 'month', 'day'])
df[df['month']=='01']其中产出:
year month day
0 2012 01 29
1 2012 01 30
2 2012 01 31要读取csv,可以在我的示例dataframe中使用以下代码:
df = pd.read_csv('example.csv')我建议你用熊猫来做你想做的事。但是,如果您绝对需要将数据作为列表列表,您可以这样做:
list(df[df['month']=='01'].apply(lambda x: x.tolist(), axis=1))其中产出:
[['2012', '01', '29'], ['2012', '01', '30'], ['2012', '01', '31']]https://stackoverflow.com/questions/55333027
复制相似问题