Tag: pandas

Python Pandas错误标记数据

我试图使用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列标题获取列表

我想获得一个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]

删除Python Pandas中的所有重复行

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”列pandas数据框。 现在我需要过滤掉数据框中所有的date在未来两个月之外的行。 基本上,我只需要保留在未来两个月内的行。 什么是最好的方式来实现这一点。

将缺失的date添加到pandas数据框中

我的数据可能在给定的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

输出两个Pandas数据框的差异 – 突出显示差异

我试图强调两个数据框之间的确切变化。 假设我有两个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:特殊的性能下降后,在dropna重新命名

我已经把这个报告为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 read_csv函数中的行?

我如何过滤使用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 / Pyplot中的散点图:如何按类别进行绘图

我正在尝试使用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 = […]