我试图使用pandas来操纵.csv文件,但我得到这个错误: pandas.parser.CParserError: Error tokenizing data. C error: Expected 2 fields in line 3, saw 12 我试图读pandas文档,但什么都没发现。 我的代码很简单: path = 'GOOG Key Ratios.csv' #print(open(path).read()) data = pd.read_csv(path) 我该如何解决这个问题? 我应该使用csv模块还是其他语言? 谢谢你们 文件来自晨星
我想获得一个pandasDataFrame列标题的列表。 DataFrame将来自用户input,所以我不知道会有多less列或将被调用。 例如,如果我这样给一个DataFrame: >>> my_dataframe y gdp cap 0 1 2 5 1 2 3 9 2 8 7 2 3 3 4 7 4 6 7 7 5 4 8 3 6 8 2 8 7 9 9 10 8 6 6 4 9 10 10 7 我想要得到这样的列表: >>> header_list [y, gdp, cap]
pandas drop_duplicates函数非常适合“独立化”数据drop_duplicates 。 但是,要传递的关键字参数之一是take_last=True或take_last=False ,而我想删除跨列的一个子集重复的所有行。 这可能吗? ABC 0 foo 0 A 1 foo 1 A 2 foo 1 B 3 bar 1 A 作为一个例子,我想删除列A和C匹配的行,所以这应该删除行0和1。
我有一个“date”列pandas数据框。 现在我需要过滤掉数据框中所有的date在未来两个月之外的行。 基本上,我只需要保留在未来两个月内的行。 什么是最好的方式来实现这一点。
我的数据可能在给定的date有多个事件,或者在某个date没有事件。 我采取这些事件,按date计算并绘制它们。 然而,当我绘制他们时,我的两个系列并不总是匹配。 idx = pd.date_range(df['simpleDate'].min(), df['simpleDate'].max()) s = df.groupby(['simpleDate']).size() 在上面的代码中, idx变成了30个date的范围。 2013年9月1日至2013年9月30日但是S可能只有25或26天,因为在给定date没有事件发生。 然后我得到一个AssertionError作为大小不匹配时,我尝试绘制: fig, ax = plt.subplots() ax.bar(idx.to_pydatetime(), s, color='green') 有什么正确的方法来解决这个问题? 我想删除IDX中没有值的date吗?或者(我宁愿这样做)是将0的缺失date添加到系列中。我宁愿有一个30天的完整图表,0值。 如果这种方法是正确的,有关如何开始的任何build议? 我需要某种dynamicreindexfunction吗? 这是S ( df.groupby(['simpleDate']).size() )的一个片段,注意04和05没有条目。 09-02-2013 2 09-03-2013 10 09-06-2013 5 09-07-2013 1
我试图强调两个数据框之间的确切变化。 假设我有两个Python Pandas数据框: "StudentRoster Jan-1": id Name score isEnrolled Comment 111 Jack 2.17 True He was late to class 112 Nick 1.11 False Graduated 113 Zoe 4.12 True "StudentRoster Jan-2": id Name score isEnrolled Comment 111 Jack 2.17 True He was late to class 112 Nick 1.21 False Graduated 113 Zoe 4.12 False On vacation […]
我已经把这个报告为pandas问题的一个问题 。 同时我在这里张贴这个希望能节省时间,以防遇到类似的问题。 在分析一个需要优化的进程时,我发现重命名不在位的列会提高x120的性能(执行时间)。 分析表明这与垃圾收集有关(见下文)。 此外,通过避免使用dropna方法来恢复预期的性能。 下面的简短例子演示了一个因素x12: import pandas as pd import numpy as np 就地=真 %%timeit np.random.seed(0) r,c = (7,3) t = np.random.rand(r) df1 = pd.DataFrame(np.random.rand(r,c), columns=range(c), index=t) indx = np.random.choice(range(r),r/3, replace=False) t[indx] = np.random.rand(len(indx)) df2 = pd.DataFrame(np.random.rand(r,c), columns=range(c), index=t) df = (df1-df2).dropna() ## inplace rename: df.rename(columns={col:'d{}'.format(col) for col in df.columns}, inplace=True) 100个循环,每个循环最好3:15.6 ms […]
我如何过滤使用pandas将CSV加载到内存中的哪一行? 这似乎是一个应该在read_csvfind的read_csv 。 我错过了什么吗? 例如:我们有一个带有时间戳列的CSV,我们只想加载时间戳大于给定常量的行。
什么是枢轴? 我如何枢纽? 这是一个支点吗? 长格式到宽格式? 我见过很多关于数据透视表的问题。 即使他们不知道他们在问关于数据透视表,他们通常是。 写一个规范的问题和答案几乎是不可能的。 …但是我要去试试看 现有的问题和答案的问题是,问题往往集中在OP难以概括的细微差别上,以便使用一些现有的好的答案。 然而,没有一个答案试图给出一个全面的解释(因为这是一项艰巨的任务) 看看我的谷歌search几个例子 如何在Pandas中枢转数据框? 好的问题和答案。 但答案只是回答具体的问题,没有多less解释。 大pandas将数据透视表数据框 在这个问题中,OP关注的是枢轴的输出。 即列的外观。 OP想让它看起来像R.这对pandas用户不是很有帮助。 枢轴转动dataframe的大pandas,重复的行 另一个体面的问题,但答案集中在一个方法,即pd.DataFrame.pivot 所以每当有人search关键点,他们会得到零星的结果,可能不会回答他们的具体问题。 build立 您可能会注意到,我明显地命名了我的列和相关的列值,以符合我将如何在下面的答案中进行转换。 请注意,以便熟悉哪些列名从哪里获得您要查找的结果。 import numpy as np import pandas as pd from numpy.core.defchararray import add np.random.seed([3,1415]) n = 20 cols = np.array(['key', 'row', 'item', 'col']) arr1 = (np.random.randint(5, size=(n, 4)) // [2, 1, 2, […]
我正在尝试使用Pandas DataFrame对象在pyplot中做一个简单的散点图,但是想要绘制两个variables的有效方法,但是要有第三列(键)指定的符号。 我已经尝试过使用df.groupby的各种方式,但没有成功。 下面是一个示例df脚本。 这根据'key1'标记颜色,但是id喜欢看'key1'类别的图例。 我closures了吗? 谢谢。 import numpy as np import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame(np.random.normal(10,1,30).reshape(10,3), index = pd.date_range('2010-01-01', freq = 'M', periods = 10), columns = ('one', 'two', 'three')) df['key1'] = (4,4,4,6,6,6,8,8,8,8) fig1 = plt.figure(1) ax1 = fig1.add_subplot(111) ax1.scatter(df['one'], df['two'], marker = 'o', c = df['key1'], alpha = […]