我有以下DataFrame,其中一列是一个对象(列表类型单元格):
df=pd.DataFrame({'A':[1,2],'B':[[1,2],[1,2]]})
df
Out[458]:
A B
0 1 [1, 2]
1 2 [1, 2]
Run Code Online (Sandbox Code Playgroud)
我的预期输出是:
A B
0 1 1
1 1 2
3 2 1
4 2 2
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能做到这一点?
相关问题
pandas:当单元格内容是列表时,为列表中的每个元素创建一行
好的问题和答案,但只处理一列列表(在我的回答中,自我修复功能将适用于多列,也接受的答案是使用最耗时apply,不推荐,检查更多信息我应该什么时候想要在我的代码中使用pandas apply()?)
此问题类似于拆分(爆炸)pandas数据帧字符串条目到单独的行,但包括有关添加范围的问题.
我有一个DataFrame:
+------+---------+----------------+
| Name | Options | Email |
+------+---------+----------------+
| Bob | 1,2,4-6 | bob@email.com |
+------+---------+----------------+
| John | NaN | john@email.com |
+------+---------+----------------+
| Mary | 1,2 | mary@email.com |
+------+---------+----------------+
| Jane | 1,3-5 | jane@email.com |
+------+---------+----------------+
Run Code Online (Sandbox Code Playgroud)
我希望Options用逗号分隔列以及为范围添加的行.
+------+---------+----------------+
| Name | Options | Email |
+------+---------+----------------+
| Bob | 1 | bob@email.com |
+------+---------+----------------+
| Bob | 2 | bob@email.com |
+------+---------+----------------+
| Bob | 4 | bob@email.com | …Run Code Online (Sandbox Code Playgroud) 美好的一天,
在shell中使用pandas DataFrame时是否可以获得多行单元输出?我知道整行的高度超过1个字符,但这就是我真正想要的.
例:
data = [
{'id': 1, 't': 'very long text\ntext line 2\ntext line 3'},
{'id': 2, 't': 'short text'}
]
df = pd.DataFrame(data)
df.set_index('id', inplace=True)
print(df)
Run Code Online (Sandbox Code Playgroud)
并希望获得输出:
id t
1 very long text
text line 2
text line 3
2 short text
代替
id t 1 very long text\ntextline 2\ntext line3 2 short text
如何用填充计算每个月的项目?
data = [
{"event_date": "2018-08-10", "tags": ["tv", "radio"]},
{"event_date": "2018-08-11", "tags": ["tv", "radio"]},
{"event_date": "2018-09-10", "tags": ["tv"]},
{"event_date": "2018-11-10", "tags": ["tv", "wifi"]}
]
df = pd.DataFrame(data)
df.groupby([(df['event_date']).dt.month, df['tags']]).count()
Run Code Online (Sandbox Code Playgroud)
我期待的是:
month tv radio wifi
8 2 2 0
9 1 0 0
10 0 0 0
11 1 0 1
Run Code Online (Sandbox Code Playgroud)