小编JJ *_*ica的帖子

如何将pandas数据添加到现有的csv文件?

我想知道是否可以使用pandas to_csv()函数将数据帧添加到现有的csv文件中.csv文件与加载的数据具有相同的结构.

python csv dataframe pandas

200
推荐指数
5
解决办法
20万
查看次数

将pandas函数应用于列以创建多个新列?

如何在熊猫中做到这一点:

extract_text_features在单个文本列上有一个函数,返回多个输出列.具体来说,该函数返回6个值.

该函数有效,但似乎没有任何正确的返回类型(pandas DataFrame/numpy数组/ Python列表),以便输出可以正确分配 df.ix[: ,10:16] = df.textcol.map(extract_text_features)

所以我认为我需要回到迭代df.iterrows(),按照这个

更新:迭代df.iterrows()速度至少慢20倍,所以我投降并将函数拆分为六个不同的.map(lambda ...)调用.

更新2:这个问题是在v0.11.0左右回答的.因此,大部分问题和答案都不太相关.

python merge return-type multiple-columns pandas

181
推荐指数
11
解决办法
12万
查看次数

删除pandas中数据帧的前三行

我需要删除pandas中数据帧的前三行.

我知道df.ix[:-1]会删除最后一行,但我无法弄清楚如何删除前n行.

python pandas

140
推荐指数
7
解决办法
19万
查看次数

为什么我要在pandas中复制一个数据框

从父数据帧中选择子数据帧时,我注意到一些程序员使用该.copy()方法复制数据帧.

他们为什么要复制数据框?如果我不复制会怎么样?

python pandas chained-assignment

137
推荐指数
5
解决办法
11万
查看次数

计算大熊猫事件的最有效方法是什么?

我有一个大的(大约12M行)数据帧df说:

df.columns = ['word','documents','frequency']
Run Code Online (Sandbox Code Playgroud)

所以以下内容及时进行:

word_grouping = df[['word','frequency']].groupby('word')
MaxFrequency_perWord = word_grouping[['frequency']].max().reset_index()
MaxFrequency_perWord.columns = ['word','MaxFrequency']
Run Code Online (Sandbox Code Playgroud)

但是,这需要很长时间才能运行:

Occurrences_of_Words = word_grouping[['word']].count().reset_index()
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?有没有更好的方法来计算大型数据框中的出现次数?

df.word.describe()
Run Code Online (Sandbox Code Playgroud)

运行得很好,所以我真的没想到这个Occurrences_of_Words数据帧需要很长时间才能构建.

ps:如果答案很明显,你觉得有必要惩罚我提出这个问题,请同时提供答案.谢谢.

python pandas

104
推荐指数
3
解决办法
15万
查看次数

用str.contains忽略NaN

我想找到包含字符串的行,如下所示:

DF[DF.col.str.contains("foo")]
Run Code Online (Sandbox Code Playgroud)

但是,这会失败,因为有些元素是NaN:

ValueError:无法使用包含NA/NaN值的向量进行索引

所以我诉诸混淆

DF[DF.col.notnull()][DF.col.dropna().str.contains("foo")]
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

python pandas

101
推荐指数
3
解决办法
7万
查看次数

如何在Pandas read_csv函数中过滤加载行?

如何使用pandas过滤哪些CSV行加载到内存中?这似乎是一个应该找到的选项read_csv.我错过了什么吗?

示例:我们有一个带有时间戳列的CSV,我们只想加载时间戳大于给定常量的行.

python pandas

85
推荐指数
3
解决办法
5万
查看次数

方法为pandas数据帧读取前几行

有没有内置的方法可以在不知道行的长度的情况下read_csv只读取n文件的第一行?我有一个大文件,需要很长时间才能阅读,偶尔只想使用第一行,比方说20行来获取它的样本(并且不想加载完整的东西并占据它的头部).

如果我知道我可以做的事情的总行数,footer_lines = total_lines - n并将其传递给skipfooter关键字arg.我目前的解决方案是手动抓取npython和StringIO 的第一行到pandas:

import pandas as pd
from StringIO import StringIO

n = 20
with open('big_file.csv', 'r') as f:
    head = ''.join(f.readlines(n))

df = pd.read_csv(StringIO(head))
Run Code Online (Sandbox Code Playgroud)

它并没有那么糟糕,但有一种更简洁,"pandasic"(?)方式用关键字或其他方式做到这一点?

python csv dataframe pandas

82
推荐指数
2
解决办法
9万
查看次数

pandas:对DataFrame行进行复杂过滤

我想通过每行的函数来过滤行,例如

def f(row):
  return sin(row['velocity'])/np.prod(['masses']) > 5

df = pandas.DataFrame(...)
filtered = df[apply_to_all_rows(df, f)]
Run Code Online (Sandbox Code Playgroud)

或者对于另一个更复杂,人为的例子,

def g(row):
  if row['col1'].method1() == 1:
    val = row['col1'].method2() / row['col1'].method3(row['col3'], row['col4'])
  else:
    val = row['col2'].method5(row['col6'])
  return np.sin(val)

df = pandas.DataFrame(...)
filtered = df[apply_to_all_rows(df, g)]
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

python pandas

78
推荐指数
5
解决办法
6万
查看次数

将pandas dataframe列导入为字符串而不是int

我想将以下csv导入为字符串而不是int64.Pandas read_csv自动将其转换为int64,但我需要将此列作为字符串.

ID
00013007854817840016671868
00013007854817840016749251
00013007854817840016754630
00013007854817840016781876
00013007854817840017028824
00013007854817840017963235
00013007854817840018860166


df = read_csv('sample.csv')

df.ID
>>

0   -9223372036854775808
1   -9223372036854775808
2   -9223372036854775808
3   -9223372036854775808
4   -9223372036854775808
5   -9223372036854775808
6   -9223372036854775808
Name: ID
Run Code Online (Sandbox Code Playgroud)

不幸的是使用转换器会产生相同的结

df = read_csv('sample.csv', converters={'ID': str})
df.ID
>>

0   -9223372036854775808
1   -9223372036854775808
2   -9223372036854775808
3   -9223372036854775808
4   -9223372036854775808
5   -9223372036854775808
6   -9223372036854775808
Name: ID
Run Code Online (Sandbox Code Playgroud)

python pandas

77
推荐指数
3
解决办法
10万
查看次数