我想基于Pandas中的分组来合并数据帧中的几个字符串.
到目前为止这是我的代码:
import pandas as pd
from io import StringIO
data = StringIO("""
"name1","hej","2014-11-01"
"name1","du","2014-11-02"
"name1","aj","2014-12-01"
"name1","oj","2014-12-02"
"name2","fin","2014-11-01"
"name2","katt","2014-11-02"
"name2","mycket","2014-12-01"
"name2","lite","2014-12-01"
""")
# load string as stream into dataframe
df = pd.read_csv(data,header=0, names=["name","text","date"],parse_dates=[2])
# add column with month
df["month"] = df["date"].apply(lambda x: x.month)
Run Code Online (Sandbox Code Playgroud)
我希望最终结果如下所示:

我不知道如何使用groupby并在"text"列中应用某种字符串串联.任何帮助赞赏!
菜鸟问题。我想为 Pandas DataFrame 的定义切片分配一个值,但我无法从警告文本中找出错误消息指向如何实际正确执行此操作。
错误消息:SettingWithCopyWarning:正在尝试在 DataFrame 切片的副本上设置值
请参阅文档中的警告:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
我的失败代码:
df.ix[0]["points"] = 1
df.ix[1:2]["points"] = 2
df.ix[3:8]["points"] = 3
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?
更新:
正如@Delforge 下面评论的那样,以下工作有效:
df.loc[0, ("points")] = 1
df.loc[1:2, ("points")] = 2
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用请求库将包含花哨的unicode符号的文本片段发布到Web服务.我正在使用Python 3.5.
text = "Två dagar kvar"
r = requests.post("http://json-tagger.herokuapp.com/tag", data=text)
print(r.json()
Run Code Online (Sandbox Code Playgroud)
我得到一个UnicodeEncodeError,但我无法弄清楚我在做什么我做错了,请求的文档只讨论我看到的GET请求中的unicode.
UnicodeEncodeError Traceback (most recent call last)
<ipython-input-125-3ebcae3d7918> in <module>()
19 print("cleaned : " + line)
20
---> 21 r = requests.post("http://json-tagger.herokuapp.com/tag", data=line)
22 sentences = r.json()['sentences']
23 for sentence in sentences:
//anaconda/lib/python3.4/site-packages/requests/api.py in post(url, data, json, **kwargs)
105 """
106
--> 107 return request('post', url, data=data, json=json, **kwargs)
108
109
//anaconda/lib/python3.4/site-packages/requests/api.py in request(method, url, **kwargs)
51 # cases, and look like a memory leak in …Run Code Online (Sandbox Code Playgroud) 使用networkx 2.0,我尝试通过遍历所有边缘来动态添加其他边缘属性。该图是一个MultiDiGraph。
根据教程,似乎可以按照下面的代码添加边属性:
g = nx.read_gpickle("../pickles/" + gname)
yearmonth = gname[:7]
g.name = yearmonth # works
for source, target in g.edges():
g[source][target]['yearmonth'] = yearmonth
Run Code Online (Sandbox Code Playgroud)
此代码引发以下错误:
TypeError: 'AtlasView' object does not support item assignment
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?