首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在列表中为索引中的特定更改创建列表

在列表中为索引中的特定更改创建列表
EN

Stack Overflow用户
提问于 2019-03-25 07:30:22
回答 3查看 42关注 0票数 0

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

请注意,我不能导入任何模块!

正如你所看到的,每个指数的一年后的数字是月份。我想要做的是在这个列表中为每个月创建一个列表,例如['2011,01,.,...,2011,02,.]。

我该怎么做呢?

我当前用于打开CSV数据并将其添加到列表中的代码:

代码语言:javascript
运行
复制
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...")
EN

Stack Overflow用户

发布于 2019-03-25 07:49:25

这看起来像是熊猫包裹pip3 install pandas的一份工作。

对于熊猫,您可以使用read_csv函数读取csv文件。一旦你有了数据,你可以选择所有的月份。

下面是一些示例代码:

代码语言:javascript
运行
复制
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']

其中产出:

代码语言:javascript
运行
复制
    year    month   day
0   2012    01      29
1   2012    01      30
2   2012    01      31

要读取csv,可以在我的示例dataframe中使用以下代码:

代码语言:javascript
运行
复制
df = pd.read_csv('example.csv')

我建议你用熊猫来做你想做的事。但是,如果您绝对需要将数据作为列表列表,您可以这样做:

代码语言:javascript
运行
复制
list(df[df['month']=='01'].apply(lambda x: x.tolist(), axis=1))

其中产出:

代码语言:javascript
运行
复制
[['2012', '01', '29'], ['2012', '01', '30'], ['2012', '01', '31']]
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55333027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档