我有一个Csv文件,有一列和一个原始文件。该列有143个值(所有数字),我想拆分该列,使每个值都有自己的列(即143列)
如何使用Python实现这一点?你知道吗
这就是它在csv文件中的样子。访问次数代表天数,因此1是星期一,2是星期二,依此类推。你知道吗
ID visits
34 12555566
I want to separate them so it looks like this
ID visits 0 1
34 1 2 5
0和1只是列名。你知道吗
这是我目前使用的代码
import pandas as pd
file=pd.read_csv('trialtr.csv')
import calendar
days = list(calendar.day_name)
data = []
with open('trialtr.csv', 'r') as fh:
for line in fh:
data.append(line.split())
data = dict(zip(*data))
d = {day: v for (day, v) in [(day,[int(c)]) for day, c in zip(days,
data['visits'][1:])]}
d['ID'] = data['ID']
d['visits'] = data['visits'][0]
data = pd.DataFrame(d)
我最终得到了这个错误: “ValueError:dictionary update sequence元素#0的长度为1000;需要2
使用此代码将逻辑转换为代码,但此代码也将转换行中的列值。你知道吗
编辑 对它做了一点改进,以获得一个数据帧,其中包含一周中几天的命名列。如果不希望这样,只需将days变量替换为range(7)
尽管如此,我认为你的想法行不通。如果你一天看11次呢?访问列中的第一个数字:不应该是访问总量的总和吗(否则为什么有8个数字?)你知道吗
相关问题 更多 >
编程相关推荐